设计模式(七):外观模式

文章目录

    • 一、『外观模式』定义
    • 二、应用
      • 2.1 结构
        • 2.1.1 使用外观模式前的结构
        • 2.1.2 使用外观模式后的结构
      • 2.2 优缺点
    • 参考


一、『外观模式』定义

提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。


二、应用

2.1 结构

外观模式比较简单,通过下面的结构变化就清楚了。

2.1.1 使用外观模式前的结构

设计模式(七):外观模式_第1张图片
此时客户直接访问子系统中的多个模块,客户和子系统之间的联系紧密,耦合性太高。

2.1.2 使用外观模式后的结构

设计模式(七):外观模式_第2张图片
其中外观Facade是外观角色,也叫门面角色,客户可以调用这个角色的方法,这个角色知道子系统的所有功能和责任。

可以看到,使用外观模式降低了客户访问子系统内部的复杂联系,外观角色提供给外界(客户)访问的接口,让子系统相对独立的。另外,一个子系统可以实现一个以上的外观。

设计原则----最少知识原则:只和你的密友谈话。

这个原则希望我们在设计中,不要让太多的类耦合在一起,免得修改系统中一部分,会影响到其他部分。如果许多类之间相互依赖,那么这个系统就会变成一个易碎的系统,它需要花许多成本维护,也会因为太复杂而不容易被其他人了解。

2.2 优缺点

优点:

  • 可以减少软件的维护成本。

  • 简化了接口,减少了对象之间的依赖,将客户从组件的子系统中解耦。

缺点:

  • 采用这个原则也会导致更多的“包装”类被制造出来,以处理和其他组件的沟通,这可能会导致复杂度和开发时间的增加,并降低运行时的性能。

参考

《HeadFirst设计模式》

你可能感兴趣的:(设计模式,设计模式,外观模式)