介绍

  • Facade门面角色 客户端可以调用这个角色的方法。 此角色知晓子系统的所有功能和责任。 一般情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去, 也就说该角色没有实际的业务逻辑, 只是一个委托类。
  • subsystem子系统角色 可以同时有一个或者多个子系统。 每一个子系统都不是一个单独的类, 而是一个类的集合。 子系统并不知道门面的存在。 对于子系统而言, 门面仅仅是另外一个客户端而已。

优点: 减少系统的相互依赖; 提高了灵活性;提高了安全性 缺点: 不符合开闭原则 应用: 为一个复杂的模块或子系统提供一个供外界访问的接口;子系统相对独立——外界对子系统的访问只要黑箱操作即可; 预防低水平人员带来的风险扩散 源码GitHub:CppDesignPattern 相关链接:C++设计模式