外觀模式

外觀模式

外觀模式,爲子系統的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使子系統更加易用;

Demo

public class Stock1 implements IStock {
    @Override
    public void buy() {
        Log.d("meee","買入Stock1");
    }

    @Override
    public void sell() {
        Log.d("meee","賣出Stock1");
    }
}
public class Stock2 implements IStock {
    @Override
    public void buy() {
        Log.d("meee","買入Stock2");
    }

    @Override
    public void sell() {
        Log.d("meee","賣出Stock2");
    }
}
public class Stock3 implements IStock {
    @Override
    public void buy() {
        Log.d("meee","買入Stock3");
    }

    @Override
    public void sell() {
        Log.d("meee","賣出Stock3");
    }
}
//原本我們在使用時,需要瞭解到所有股票類的方法,並依次調用,耦合性很高
//所以我們使用外觀模式,定義一個基金類,用於管理三個股票類
public class Fund {
    Stock1 mStock1;
    Stock2 mStock2;
    Stock3 mStock3;

    public Fund(Stock1 stock1, Stock2 stock2, Stock3 stock3) {
        mStock1 = stock1;
        mStock2 = stock2;
        mStock3 = stock3;
    }
    public Fund() {
        mStock1 = new Stock1();
        mStock2 = new Stock2();
        mStock3 = new Stock3();
    }

    public void buyAll() {
        mStock1.buy();
        mStock2.buy();
        mStock3.buy();
    }

    public void sellAll() {
        mStock1.sell();
        mStock2.sell();
        mStock3.sell();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章