創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供岱山網(wǎng)站建設(shè)、岱山做網(wǎng)站、岱山網(wǎng)站設(shè)計、岱山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、岱山企業(yè)網(wǎng)站模板建站服務(wù),十年岱山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
門面模式(Facade Pattern)又稱作外觀模式
,是指提供一個統(tǒng)一的接口,用來訪問子系統(tǒng)中的一群接口,屬于結(jié)構(gòu)型設(shè)計模式。
門面模式的主要特征是定義了一個高層接口,讓子系統(tǒng)更容易使用。
2、結(jié)構(gòu)(1)模式的結(jié)構(gòu)
主要角色如下:
3、優(yōu)缺點
注意:
子系統(tǒng)類中沒有 Facade任何信息,即沒有 Facade對象的引用。對于 SubSystem而言,F(xiàn)acade只是另一個客戶端,處理 Facade指派的任務(wù)。
優(yōu)點:
缺點:
代碼如下:
public class FacadePattern {public static void main(String[] args) {ServiceFacade serviceFacade = new ServiceFacade();
serviceFacade.doCommon();
}
}
// 子系統(tǒng)角色
class SubSystemA {public void doA() {System.out.println("doing A");
}
}
class SubSystemB {public void doB() {System.out.println("doing B");
}
}
// 外觀角色
class ServiceFacade {private SubSystemA subSystemA;
private SubSystemB subSystemB;
public ServiceFacade() {this.subSystemA = new SubSystemA();
this.subSystemB = new SubSystemB();
}
// 對外接口
public void doCommon() {subSystemA.doA();
subSystemB.doB();
}
}
三、模式的應(yīng)用實例以客戶通過購買基金(門面)從而獲得收益為例?;鸾?jīng)理人操作股票(子系統(tǒng))交易。
(1)股票(子系統(tǒng))
public class Stock1 {private String name = "股票1";
public void buy(){System.out.println("買進" + name);
}
public void sell(){System.out.println("賣出" + name);
}
}
public class Stock2 {private String name = "股票2";
public void buy(){System.out.println("買進" + name);
}
public void sell(){System.out.println("賣出" + name);
}
}
(2)基金(門面)
public class FundFacade {private String name = "基金A";
private Stock1 stock1;
private Stock2 stock2;
public FundFacade() {this.stock1 = new Stock1();
this.stock2 = new Stock2();
}
public void buyFund(){System.out.println("買進" + name + ", 基金經(jīng)理買進的股票如下:");
stock1.buy();
stock2.buy();
}
public void sellFund(){System.out.println("賣出" + name+ ", 基金經(jīng)理賣出的股票如下:");
stock1.sell();
stock2.sell();
System.out.println("收益1W+");
}
}
(3)測試:小白購買該基金
public static void main(String[] args) {FundFacade fundFacade = new FundFacade();
fundFacade.buyFund();
System.out.println("----第N天之后----");
fundFacade.sellFund();
}
– 求知若饑,虛心若愚。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧