天天看点

※设计模式※→☆结构型模式☆============Facade模式(十二)模式概述模式结构模式讨论模式实现

模式概述

Facade模式又称门面模式或外观模式。为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的接口。这个一致的简单的接口被称作facade。Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。

※设计模式※→☆结构型模式☆============Facade模式(十二)模式概述模式结构模式讨论模式实现

模式结构

※设计模式※→☆结构型模式☆============Facade模式(十二)模式概述模式结构模式讨论模式实现
※设计模式※→☆结构型模式☆============Facade模式(十二)模式概述模式结构模式讨论模式实现

模式讨论

Facade模式为一个复杂子系统提供一个简单接口,提高子系统的独立性,在层次化结构中,可以使用Facade模式定义系统中每一层的入口。简化外部客户程序和系统间的交互接口。将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦。

Facade要点总结: (将子系统的变化限制在一个范围内)

  • 1.从客户程序的角度来看, Façade 模式简化了整个组件系统的接口。对于内部和外部客户程序来说, Façade 模式实现了一种解耦的效果——即内部的子系统的任何变化不会影响到 Façade 接口的变化。
  • 2.Façade 设计模式更注重从架构的层次去看待整个系统,而不是单个类的层次。Façade 很多时候更是一种架构设计模式。
  • 3.Façade 设计模式并非是一个集装箱,可以任意的放入任何多个对象。Facade模式中组件的内部应该是“相互耦合关系比较大的一系列组件”,而不是简单的功能集合,以便能够实现松耦合,高内聚的特性。

相关模式区分:

  • Facade模式注重简化接口。
  • Adapter模式注重转换接口。
  • Bridge模式注重分离接口(抽象)与其实现
  • Decorator模式注重稳定接口的前提下为对象扩展功能。

模式实现
※设计模式※→☆结构型模式☆============Facade模式(十二)模式概述模式结构模式讨论模式实现

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以后的笔记潇汀会尽量详细讲解一些相关知识的,希望大家继续关注我的博客。

本节笔记到这里就结束了。

潇汀一有时间就会把自己的学习心得,觉得比较好的知识点写出来和大家一起分享。

编程开发的路很长很长,非常希望能和大家一起交流,共同学习,共同进步。

如果文章中有什么疏漏的地方,也请大家指正。也希望大家可以多留言来和我探讨编程相关的问题。

最后,谢谢你们一直的支持~~~

       C++完整个代码示例(代码在VS2017下测试可运行)

代码及相关资料下载地址:

              https://gitee.com/arvinxt/DesignPattern

继续阅读