美文网首页
设计模式之门面模式

设计模式之门面模式

作者: 逍遥白亦 | 来源:发表于2021-01-10 17:16 被阅读0次

1. 定义

又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。

2. 特点

2.1 优点

  • 降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。
  • 对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易。
  • 降低了大型软件系统中的编译依赖性,简化了系统在不同平台之间的移植过程,因为编译一个子系统不会影响其他的子系统,也不会影响外观对象。

2.2 缺点

  • 不能很好地限制客户使用子系统类,很容易带来未知风险。
  • 增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则”。

3. 参与者

  • 外观(Facade)角色:为多个子系统对外提供一个共同的接口。
  • 子系统(Sub System)角色:实现系统的部分功能,客户可以通过外观角色访问它。
  • 客户(Client)角色:通过一个外观角色访问各个子系统的功能。

4. 类图

facade

5. 实现

package Facade;

public class SubSystem01 {

    public void method1(){
        System.out.println("子系统01的方法被调用");
    }

}
package Facade;

public class SubSystem02 {

    public void method2(){
        System.out.println("子系统02的方法被调用");
    }

}
package Facade;

public class SubSystem03 {

    public void method03(){
        System.out.println("子系统03的方法被调用");
    }

}
package Facade;

public class Facade {
    private SubSystem01 obj1 = new SubSystem01();
    private SubSystem02 obj2 = new SubSystem02();
    private SubSystem03 obj3 = new SubSystem03();

    public void method(){
        obj1.method1();
        obj2.method2();
        obj3.method03();
    }
}
package Facade;

public class Client {

    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.method();
    }

}

相关文章

  • 设计模式之——门面模式

    门面模式 门面模式(Facade Pattern)又叫外观模式,提供了一个统一的接口,用来访问子系统中的一群接口。...

  • 设计模式之——门面模式

    1 门面模式的定义 门面模式:Facade Pattern,也叫做外观模式。要求一个子系统的外部与其内部的通信必须...

  • 设计模式系列之「门面模式」

    《三国演义》中有曰:刘备、诸葛亮趁曹操赤壁之战失利,大肆扩充地盘,先后占领荆州大部地区,引起东吴孙权的警惕。为了限...

  • 设计模式之禅-门面模式

    1.业务背景 我们把写信分为四步: 一、写正文 二、写信封 三、把信封起来 四、邮寄 写一封信还好,但如果写100...

  • 设计模式-门面模式

    一:门面模式的定义 外观模式的目的不是给予子系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散...

  • 设计模式—门面模式

    门面(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式...

  • 外观模式(Facede)

    本文参考自: 《JAVA设计模式》之外观模式(Facade) 1. 作用 外观模式也叫门面模式,门面模式是对象的结...

  • OkHttp的使用之设计模式

    使用的设计模式有: 创建者模式 策略模式 门面模式 责任链模式

  • 门面模式设计

    门面模式 两个作用: 1、简化类的接口 2、消除类与使用它的客户代码之间的耦合 门面模式常常是开发人员最亲密的朋友...

  • 设计模式——门面模式(外观模式)

    《Head First 设计模式》《设计模式之禅(第二版)》 学习笔记,码云同步更新中如有错误或不足之处,请一定指...

网友评论

      本文标题:设计模式之门面模式

      本文链接:https://www.haomeiwen.com/subject/fyflaktx.html