美文网首页
java设计模式 - 外观(门面)模式

java设计模式 - 外观(门面)模式

作者: CXY_XZL | 来源:发表于2021-04-28 00:26 被阅读0次

1.结构与实现

主要是定义了一个高层接口。它包含了对各个子系统的引用,客户端可以通过它访问各个子系统的功能。现在来分析其基本结构和实现方法。

模式的结构

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


结构图.png

2.代码

public class FacadePattern {
    public static void main(String[] args) {
        Facade f = new Facade();
        f.method();
    }
}
//外观角色
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.method3();
    }
}
//子系统角色
class SubSystem01 {
    public void method1() {
        System.out.println("子系统01的method1()被调用!");
    }
}
//子系统角色
class SubSystem02 {
    public void method2() {
        System.out.println("子系统02的method2()被调用!");
    }
}
//子系统角色
class SubSystem03 {
    public void method3() {
        System.out.println("子系统03的method3()被调用!");
    }
}

执行结果如下:

子系统01的method1()被调用!
子系统02的method2()被调用!
子系统03的method3()被调用!

3.参考

外观模式(Facade模式)详解

相关文章

网友评论

      本文标题:java设计模式 - 外观(门面)模式

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