我学设计模式:外观(Facade)模式

定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加易用。

外观模式比较简单,两个字:封装!外观模式是为了解决类与类之间的依赖关系的,将类与类之间(比如A、B、C)的关系放在一个Facade类中,从外部看来只要调用Facade类中的方法,就可以自动调用A、B、C的功能,从而降低了类之间的耦合度。

认识外观模式:封装交互,简化调用

外观模式示意图

如图所示,外观模式减少了外部与子系统内多个模块的交互,松散耦合,从而让外部可以更简单地使用子系统。一个直观的例子就是电脑,外部来看我们面对的是电脑,只要对电脑上的按钮操作即可,但是电脑内部有很多子系统,如CPU、Memory、Disk等。当我们启动或关闭电脑时,只要对封装好的Computer操作即可,而不需对每个子系统启动。

外观模式示例

外观模式的调用顺序

外观模式的调用顺序

何时使用外观模式

  • 希望为一个复杂的子系统提供一个简单的接口
  • 想让客户端和抽象类的实现部分松散耦合
  • 构建多层结构系统时,可以使用外观作为每层的入口

本文是《研磨设计模式》的读书笔记。

hoxis wechat
一个脱离了高级趣味的程序员,关注回复1024有惊喜~
赞赏一杯咖啡
0%