门面模式(Facade)
1 概念
1、定义
- 定义一个高层接口,为子系统中的一组接口提供一个一致的接口,使得子系统更加容易使用。
2、应用场景
- 想要将子系统组织成层时,使用Facade。
3、优点
- 简化客户端的调用。
2、实现
package com.xianhuii.designpattern;
import java.lang.invoke.VarHandle;
public class Facade {
SubSystem1 subSystem1 = new SubSystem1();
SubSystem2 subSystem2 = new SubSystem2();
SubSystem3 subSystem3 = new SubSystem3();
public void doSomething() {
subSystem1.method1();
subSystem2.method2();
subSystem3.method3();
}
}
class Client1 {
// SubSystem1 subSystem1 = new SubSystem1();
// SubSystem2 subSystem2 = new SubSystem2();
// SubSystem3 subSystem3 = new SubSystem3();
// public void doSomething1() {
// subSystem1.method1();
// subSystem2.method2();
// subSystem3.method3();
// }
Facade facade = new Facade();
public void doSomething1() {
facade.doSomething();
}
}
class Client2 {
// SubSystem1 subSystem1 = new SubSystem1();
// SubSystem2 subSystem2 = new SubSystem2();
// SubSystem3 subSystem3 = new SubSystem3();
// public void doSomething2() {
// subSystem1.method1();
// subSystem2.method2();
// subSystem3.method3();
// }
Facade facade = new Facade();
public void doSomething2() {
facade.doSomething();
}
}
class SubSystem1 {
public void method1() {
System.out.println("SubSystem1.method1()");
}
}
class SubSystem2 {
public void method2() {
System.out.println("SubSystem2.method2()");
}
}
class SubSystem3 {
public void method3() {
System.out.println("SubSystem3.method3()");
}
} 
京公网安备 11010502036488号