设计模式学习(十)(外观模式)

模式名称

外观模式(Facade Pattern)

解决问题

提供一个更简单的接口,让子系统变得更加易用。

就比如我们早晨出门前要刷牙、洗脸、吃饭……这个方法一个一个去调用会显得非常麻烦,我们可以写一个方法叫早晨准备出门来调用这一系列的方法,这样会更简单易用。

解决方案

1.写一个外观类将需要调用的类组合起来。

2.编写外观接口,把各种方法调用组合封装。

 

外观模式的优点

1.使客户端更加简单,对子系统的使用也非常简单。

2.使子系统变化不会影响到客户端,只需要修改外观类。

3.提供了对子系统访问的统一接口。

外观模式的缺点

1.使用子系统的类太多时不灵活、复杂。

2.在不引用抽象外观类的情况下,子系统发生改变时需要修改外观类不符合开闭原则。.

设计原则

最少知识原则:只和你的密友交谈。

源码

与装饰者模式、适配器模式的对比

装饰者模式:在不修改接口的情况下增加新的功能。

适配器模式:将一个接口转换为客户期望的另一个接口。

外观模式:简化接口。

(完)

打赏