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

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

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

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

外观模式示意图
外观模式示意图

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

外观模式示例
外观模式示例
  • 外观模式的调用顺序


    外观模式的调用顺序
    外观模式的调用顺序

何时使用外观模式

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


如果觉得有用,欢迎关注我的微信,有问题可以直接交流:

你的关注是对我最大的鼓励!
你的关注是对我最大的鼓励!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容