1、減少系統(tǒng)的相互依賴(lài)。如果不使用立面模式,外部訪問(wèn)將直接深入子系統(tǒng)。
這是一種強(qiáng)烈的耦合關(guān)系,這是系統(tǒng)設(shè)計(jì)無(wú)法接受的。門(mén)面模式的出項(xiàng)很好地解決了這個(gè)問(wèn)題,所有的依賴(lài)都是對(duì)門(mén)面對(duì)象的依賴(lài),與子系統(tǒng)無(wú)關(guān)。
2、提高了靈活性。依賴(lài)減少,靈活性自然提高。
3、提高安全性。想讓你訪問(wèn)子系統(tǒng)的業(yè)務(wù)就打開(kāi)那些邏輯,不在門(mén)面打開(kāi)的方法就不能訪問(wèn)。
實(shí)例
package com.sl.demo.facade;
/**
* 電腦(門(mén)面角色)
* @author pengkun
*
*/
public class Computer {
//包含子系統(tǒng)
private CPU cpu;
private GraphicsCard graphicsCard;
private Memory memory;
public Computer() {
super();
this.cpu =new CPU();
this.graphicsCard = new GraphicsCard();
this.memory = new Memory();
}
//開(kāi)啟
public void start() {
System.out.println("電腦開(kāi)啟了。。。。");
cpu.start();
graphicsCard.start();
memory.start();
}
//關(guān)閉
public void stop() {
System.out.println("電腦關(guān)閉了。。。。");
cpu.stop();
graphicsCard.stop();
memory.stop();
}
}
以上就是java門(mén)面模式的優(yōu)勢(shì),希望對(duì)大家有所幫助。更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專(zhuān)業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。