门面模式

定义

要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。

代码

子系统

1
2
3
4
5
public class ClassA {
public void doSometiongA(){
System.out.println("AAA");
}
}

1
2
3
4
5
6
public class ClassB {

public void doSomethingB(){
System.out.println("BBB");
}
}

1
2
3
4
5
public class ClassC {
public void doSometingC(){
System.out.println("CCC");
}
}

门面类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyFacade {
private ClassA classA = new ClassA();
private ClassB classB = new ClassB();
private ClassC classC = new ClassC();

public void methodA(){
this.classA.doSometiongA();
}

public void methodB(){
this.classB.doSomethingB();
}

public void methodC(){
this.classC.doSometingC();
}

}

测试

1
2
3
4
5
6
7
8
9
public class MyFacadeTest {
@Test
public void testFacade(){
MyFacade facade = new MyFacade();
facade.methodA();
facade.methodB();
facade.methodC();
}
}