定义
- 外观模式是将一群子系统对象以组合或聚合的方式“包装”起来以简化其接口,解耦Clinet和众多子系统的依赖关系
比如:家庭影院系统,用户打算看电影需要依次降下投影屏幕、打开音响、打开DVD等一系列操作。如果引入外观模式,组合上诉组件对外提供一个准备观影方法,在该方法中依次调用投影屏幕、打开音响、打开DVD这一系列操作,此时用户只需要调用外观类的准备观影方法即可,不需要关注各组件系统的细节 - UML
- 外观模式的注意事项和细节
- 外观模式对外屏蔽了子系统的细节,因此外观模式降低了客户端对子系统使用的复杂性
- 外观模式对客户端与子系统的耦合关系,让自兄台国内部的模块更容易维护和扩展
- 合理的使用外观模式,可以帮助我们更好的划分访问层次
- 维护一个遗留的大型系统时,可能这个系统已经非常难难以维护和扩展,可以使用外观模式,用新系统或新类对遗留的系统或多个类进行组合,对客户端提供新的简化后接口
- 不能过多的或不合理的使用外观模式,使用外观模式好,还是直接调用模块好,要以让系统有层次以及利于维护为目的
参考
《Head First 设计模式》