外觀模式(Facade)

外觀模式(Facade),為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口是的這一子系統更加容易使用。

主方法

public class main {
    public static void main(String[] args) {
        Fund fund = new Fund();
        fund.BuyFund();//基金購買
         fund.SellFund();//基金贖回
    }
}

外觀類,它需要了解所有的子系統的方法或屬性,進行組合,以備外界調用

public class Fund {
    Stock1 stock1;
    Stock2 stock2;
    Stock3 stock3;
    NationalDebt1 nationalDebt1;
    Realty1 realty1;
    public Fund() {
        stock1 = new Stock1();
        stock2 = new Stock2();
        stock3 = new Stock3();
        nationalDebt1 = new NationalDebt1();
        realty1 = new Realty1();
    }

    public void BuyFund() {
        stock1.Buy();
        stock2.Buy();
        stock3.Buy();
        nationalDebt1.Buy();
        realty1.Buy();
    }

    public void SellFund() {
        stock1.Sell();
        stock2.Sell();
        stock3.Sell();
        nationalDebt1.Sell();
        realty1.Sell();
    }
}

子系統類

public class Stock1 {
    public void Sell() {
        System.out.println("股票1賣出");
    }
    public void Buy() {
        System.out.println("股票1買入");
    }
}
public class Stock2 {
    public void Sell() {
        System.out.println("股票2賣出");
    }
    public void Buy() {
        System.out.println("股票2買入");
    }
}
public class Stock3 {
    public void Sell() {
        System.out.println("股票3賣出");
    }
    public void Buy() {
        System.out.println("股票3買入");
    }
}
public class NationalDebt1 {
    public void Sell() {
        System.out.println("國債1賣出");
    }
    public void Buy() {
        System.out.println("國債1買入");
    }
}
public class Realty1 {
    public void Sell() {
        System.out.println("房地產1賣出");
    }
    public void Buy() {
        System.out.println("房地產1買入");
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容