设计模式<结构型> | 外观模式
外观模式/门面模式(Facade Pattern)
门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。
假设有一个系统 A,提供了 a、b、c、d 四个接口。系统 B 完成某个业务功能,需要调用 A 系统的 a、b、d 接口。利用门面模式,我们提供一个包裹 a、b、d 接口调用的门面接口 x,给系统 B 直接使用
门面模式可以用来封装系统的底层实现,隐藏系统的复杂性,提供一组更加简单易用、更高层的接口。
结构图:
角色:
- 子系统(SubSystem):各种子系统。
- 门面(Facade):提供了访问特定子系统功能的便捷方式。
适用场景:
- 封装有缺陷的接口设计。
- 替换依赖的外部系统。
- 兼容老版本接口
- 适配不同格式的数据
优点:
- 隐藏系统的复杂性
缺点
- 门片类过于臃肿,依赖的类太多。
代码(Facade Pattern)
1 |
|
最后
适配器模式和门面模式的共同点是,将不好用的接口适配成好用的接口。但是门面模式适用在接口设计方面,解决多接口调用问题,适配器模式是一种补偿措施,补偿的是接口设计缺陷。从功能上,门面模式注重易用性,适配器模式注重兼容性。
设计模式<结构型> | 外观模式
http://example.com/posts/38121.html