设计模式-门面模式

门面模式:

为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

应用场景:

1.当您需要使用复杂子系统的有限但直接的接口时,请使用Facade模式。

2.当您想要将子系统组织成层时,请使用Facade。

/**
 * 门面模式
 */
public class facadeTest {
    public static void main(String[] args) {
        new Client1().doSomething1();
        new Client2().doSomething1();
    }
}

class Client1 {
    Facade facade = new Facade();

    public void doSomething1(){
        facade.doSomethingFacade();
    }
}

class Client2 {
    Facade facade = new Facade();

    public void doSomething1(){
        facade.doSomethingFacade();
    }
}

class Facade {
    SubSystem1 subSystem1 = new SubSystem1();
    SubSystem2 subSystem2 = new SubSystem2();
    SubSystem3 subSystem3 = new SubSystem3();

    public void doSomethingFacade() {
        subSystem1.method1();
        subSystem2.method1();
        subSystem3.method1();
    }
}

class SubSystem1 {
    public void method1() {
        System.out.println("SubSystem1 excute");
    }
}

class SubSystem2 {
    public void method1() {
        System.out.println("SubSystem2 excute");
    }
}

class SubSystem3 {
    public void method1() {
        System.out.println("SubSystem3 excute");
    }
}
原文地址:https://www.cnblogs.com/chenfx/p/14787667.html