zoukankan      html  css  js  c++  java
  • 【设计模式】外观模式

    简介

    外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使这一子系统更容易使用。

    详述

    外观模式英文:Facade

    外观模式结构图

     

      Facade:外观类,包含所有子系统的实例,并提供更抽象的MethodA和MethodB,MethodA和MethodB内部组合了子系统的实现,客户只需要了解MethodA和MethodB。

    SubSystemXXX:子系统,真正的功能实现,需要对客户屏蔽。

    使用外观模式的时机

    1.设计的初期,将不同的两个层分离,比如MVC架构,将不同的层之间建立外观Facade,为复杂子系统提供简单的接口,并且大大降低程序之间的耦合。

    2.开发阶段,子系统因为不断的重构而变得越发复杂,大多数模式的使用也会产生很小的类,给外部调用者带来了使用上的困难,增加外观Facade提供简单的接口,减少依赖。

    3.维护一个大型遗留系统,可能系统已经非常难于维护和扩展,可以提供一个Facade类,为复杂和难以维护的老系统提供一个简单的接口,让新系统与Facade交互,Facade与老系统交互完成遗留的复杂工作。

    小纪

    工作中用到Facade类的应用,一个话单工具要新增一个月结模块,但老系统的类关系已经很复杂了,难以新增功能,采用Facade模式,Facade代理老系统的话单,新增一个月结功能,这个模式很实用,也很朴实,可能没有学过设计模式,但不经意间已经应用了。 

  • 相关阅读:
    jekins测试环境自动化
    jenkins
    git
    maven
    spring boot 1
    jmeter 常用函数
    Jmeter之BeanShell--请求失败触发报警邮件
    Python_任意文件中获取项目的绝对路径
    Python_logging在多模块项目中日志输出应用
    Python--判断Mysql启动状态并人工干预下完成启动
  • 原文地址:https://www.cnblogs.com/learn-my-life/p/3830548.html
Copyright © 2011-2022 走看看