设计模式 外观模式
本文将介绍设计模式中的外观模式。
一、什么是外观模式?
外观模式通过引入一个外观角色来简化客户端和子系统之间的交互,外观角色充当 “服务员” 的角色,为复杂的子系统调用提供了一个统一的入口,降低子系统和客户端的耦合度。
二、实现
1. 结构
2. 角色
- Facade 外观角色:
- 将来自客户端的请求委派到对应的子系统
- SubSystem 子系统角色
- 子系统角色由一个或多个类组成
- 子系统角色并不知道外观角色的存在,对于它而言,外观角色只是某一个客户端
3. 简单示例
Facade:
1 |
|
SubSystem:
1 |
|
三、优缺点
1. 优点
- 通过引入外观模式,可以较少客户端的代码逻辑
- 实现了子系统与客户端之间的松耦合关系
2. 缺点
- 增加新的子系统时,需要修改外观角色的代码
参考
- 《Java 设计模式》