外观模式,就有有一个外观类(Facade),其方法里是对多个子系统(或者其他类的对象)的操作的汇总包装,结果是外部不知道Facade具体做了哪些操作,形成比较好的隔离。
主要角色就是一个外观类。
示例代码:
package designMode.facade2;
public class Fund {
Stock1 stock1;
Stock2 stock2;
Stock3 stock3;
public Fund() {
stock1 = new Stock1();
stock2 = new Stock2();
stock3 = new Stock3();
}
//购买基金
public void buyFund() {
stock1.buy();
stock2.buy();
stock3.buy();
}
//赎回基金
public void sellFund() {
stock1.sell();
stock2.sell();
stock3.sell();
}
}
public class Stock1 {
//买股票
public void buy() {
System.out.println("股票1买入");
}
//卖股票
public void sell() {
System.out.println("股票1卖出");
}
}
package designMode.facade2;
public class Client {
public static void main(String[] args) {
Fund fund = new Fund();
//基金购买
fund.buyFund();
System.out.println("-------------");
//基金赎回
fund.sellFund();
}
}