说明:Facade外观类
SubSystem子系统
优点:
①对子系统的使用变得简单了,减少了客户与子系统的联系和子系统之间的耦合。
②降低了大型软件系统中的编译依赖性,并简化了系统在不同平台之间的移植过程。
缺点:新增子系统需要修改外观类,除非设置抽象外观类接口。
比较:外观模式的意图是简化接口,而适配器模式的意图是将接口转换成不同的接口。
适用范围:通过一个接口要调用多个对象或子系统时。
客户端
实现:
Facade f = new Facade(); //外观类
f.buy(); //同一调用所有买的子系统
f.sell(); //同一调用所有卖的子系统
一句话概括:用一个统一接口,调用一群子系统,很常用。
/** * Subsystem (该接口包含 如buy和sell抽象方法) * Subsystem1 Subsystem2 Subsystem3 (实例化subsystem接口) * * Facade (外观类,包含所有的Subsystem实例,同一调用所有buy和所有sell方法) */