外观模式

发布时间 2023-12-14 16:37:42作者: 求简君

外观模式,就有有一个外观类(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();
}
}