外观模式

发布 : 2018-12-04 分类 : 设计模式 浏览 :

介绍

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

结构

  • 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
原文链接 : https://liuzhihang.com/2018/12/04/appearance-mode.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

博客已萌萌哒运行(●'◡'●)ノ♥
Theme - BMW | Made With 💗 | Powered by GodBMW