外观模式

外观模式又称为门面模式, 为子系统中的一组接口提供一个统一的入口.
主要作用是通过客户端统一调用外观角色, 降低系统的复杂程度.

结构

  • Facade(外观角色)
  • SubSystem(子系统角色)
    外观模式

    Demo

    外观(门面)进行统一处理, 外界只需要知道外观角色即可, 不需要关心内部处理逻辑

    public class FacadeApi {
    
      private AppCenter appCenter = new AppCenter();
      private ChargeCenter chargeCenter = new ChargeCenter();
      private SignUtil signUtil = new SignUtil();
    
      public void doTrans() {
    
          String appId = appCenter.getAppInfo();
          int charge = chargeCenter.getCharge();
          signUtil.sign(appId);
    
      }
    }
    
    public class AppCenter {
    
      public String getAppInfo() {
          return "appId=123123123";
      }
    }
    
    public class ChargeCenter {
    
      public int getCharge() {
    
          return 100;
      }
    }
    
    public class SignUtil {
    
      public String sign(String appId) {
    
          return "sign";
      }
    }
    

结论

  • 客户端屏蔽了子系统组件, 减少了客户端所需处理的对象数目, 并使得子系统使用起来更加容易.
  • 当有一个请求涉及到多个子系统的时候可以使用
  • 微服务架构中和多个系统进行交互可以使用到

   版权声明

文章作者: liuzhihang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源!

评论