class Stock{ public String getName() { return name; } public void setName(String name) { this.name = name; } PRivate String name; public void Sell(){ System.out.println("sell "+name); } public void Buy(){ System.out.println("buy "+name); }}class Fund{ Stock gu1; Stock gu2; Stock gu3; public Fund(){ gu1=new Stock(); gu1.setName("gu1"); gu2=new Stock(); gu2.setName("gu2"); gu3=new Stock(); gu3.setName("gu3"); } public void BuyFund(){ gu1.Buy(); gu2.Buy(); gu3.Buy(); } public void SellFund(){ gu1.Sell(); gu2.Sell(); gu3.Sell(); }}public class TestFacade { public static void main(String[] args){ Fund fund=new Fund(); fund.BuyFund(); fund.SellFund(); }}通過Fund對stock封裝,這樣外面不用了解stock,知道幾個(gè)stock實(shí)例。外觀模式:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,此模式定義了一個(gè)高層接口,使得子系統(tǒng)更加容易使用。在設(shè)計(jì)的初期,應(yīng)該有意識(shí)的將不同的兩個(gè)層分離。比如業(yè)務(wù)層和表示層,訪問層和業(yè)務(wù)層之間建立外觀模式。外觀模式是為了減少耦合。因?yàn)樘峁┙y(tǒng)一的接口。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注