设计模式(7):外观模式
一、概念
1、定义:又叫门面模式,外观模式提供了一个统一的接口,用来访问子系统中一群接口的操作,这样使得子系统更容易使用,即使子系统发生变化,但只要外观不变,就不会影响到客户端代码。
2、类型:结构型
3、适用场景
- 子系统越来越复杂,增加外观模式提供简单的接口
- 构建多层系统结构,利用外观对象作为每层的入口,简化了层间调用
4、优点
- 简化调用过程,无需深入了解子系统,防止带来风险(某个功能集成到一起就行
- 减少系统的依赖,松散耦合,让内部模块更容易扩展和维护
- 帮助我们更好的划分访问的层次
- 符合迪米特法则,客户端只要和外观交互就行
5、缺点
- 增加子系统时容易引入风险
- 不符合开闭原则
6、区别
- 和适配器模式的区别
两者的差异不在于它们包装了几个类,而在于它们的意图,适配器是改变接口来符合客户的期望,外观的意图是提供给子系统一个简化的接口。外观模式可以提供多个外观,适配器也可以让多个不同的类来适配同一个接口。 - 装饰者模式:不改变接口。加入责任
- 适配器模式:将一个接口转换成另一个接口
- 外观模式:让接口更简单,应用层不要和子系统进行交互
7、UML