什么是门面模式?
门面模式也叫外观模式。是指通过定义一个门面对象,对外提供高层次的接口,客户端和系统内部的子系统通过该门面对象进行通信,向外屏蔽系统的内部结构设计,提高系统的易用性。
门面模式的示意图(图片来源于网络)
20180607080025366.jpg门面模式的设计思路:
门面模式在设计的时候,定义一个门面类,该类提供外部访问该系统内部的接口,通过该类的定义,隐藏该系统内部的设计细节,降低了外部对系统内部设计的依赖关系,从而提高了系统的易用性(外部不需要知道系统的细节,同时系统内部调整对外部的影响也降到了最低)。
门面模式的设计示意图(图片来源于网络)
20170215160900645.png门面模式的优点和缺点
优点
- 松耦合:由于外部全部通过门面对象访问系统接口,故降低了外部和系统内部的耦合,降低了系统之间的耦合性。
- 易用性:外部不需要知道系统的内部的结构,只需要和门面对象进行通信即可。
缺点
门面对象不符合开闭原则,即对修改关闭,对扩展开放。
门面模式和中介者模式的关系
- 中介者模式为系统内部使用的设计模式,用于降低系统内部各个对象之间的交互,降低系统内部的耦合,将系统内部的网状结构转化为星型结构。
- 门面模式用于系统之间,对外屏蔽系统的内部结构,降低外部环境或对象和系统内部的耦合,提高系统的易用性。
由上述可知,两个设计模式的使用的目的和范围是不一样的,相同的地方时两者都是为了降低耦合,提高灵活性。
网友评论