美文网首页
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