zoukankan      html  css  js  c++  java
  • 门面模式-Facade

    门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用。最核心的目的:简化子系统,简化客户使用,屏蔽多个子系统。

    此外门面类不参与子系统的业务逻辑,只是提供访问一个子类的途径而已,否则会产生倒依赖

    缺点:不符合开闭原则。所谓的开闭原则是软件工程里面一个最基本的原则:对扩展开放,对修改关闭。换句话说,你的系统可以提供新的功能模块而不必进行修改。

    用图表示就像下面这样:

     

    使用场景:

    这个模式还是比较好理解的,引入第三方中介类把各个分散的功能组合成一个整体,客户端只需要调用中介类的接口就可以实现目的,而不需要知道内部细节,和代理模式很相似,都引入了中介类(对象)中介对象都引用并把功能委托给了原对象都起到了"代理"功能

    区别:代理侧重于对原对象的访问控制(当然也可以不是控制而是功能增强)

    - 代理与原类实现相同的抽象(相同接口或直接继承原业)

    - 代理只代理一个类

    - 门面侧重于功能整合(多个小系统或小对象整合成一个功能丰富的大对象)

    - 门面可以与子系统具有不同的抽象(具有不同的接口,可以对方法重新起名)

    - 门面代理的是一系列类

    部分参考:https://blog.csdn.net/yangspgao/java/article/details/80602794

  • 相关阅读:
    我的学习之路_第十二章_多线程
    我的学习之路_第十一章_字符流
    我的学习之路_第十章_IO流
    我的学习之路_第九章_File类,递归
    cordova的安装
    webapp之初次接触cordova
    mac自带终端常用命令(我自己经常会用到的)
    AJAX初识
    前端适配之细说rem(网易的移动端页面布局做法)
    移动端网页开发三(纠结适配的那些年)
  • 原文地址:https://www.cnblogs.com/xiaxiaopi/p/12767579.html
Copyright © 2011-2022 走看看