用途
外观模式 (Facade)
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式是一种结构型模式。
结构
图-外观模式结构图
Facade : 了解每个子系统类的功能,负责分发客户端的请求给各个子系统去处理。
class Class1 { public void op1() { System.out.println("方法1"); } } class Class2 { public void op2() { System.out.println("方法2"); } } class Class3 { public void op3() { System.out.println("方法3"); } } |
Subsystem Classes : 实现子系统功能。在不感知 Facade 的情况下,处理 Facade 对象分配的工作,
class Facade { private Class1 one = new Class1(); private Class2 two = new Class2(); private Class3 three = new Class3(); public void op1() { System.out.println("Facade op1()"); one.op1(); } public void op2() { System.out.println("Facade op2()"); two.op2(); } public void op3() { System.out.println("Facade op3()"); three.op3(); } public void Method() { System.out.println("Facade Method()"); three.op3(); two.op2(); one.op1(); } } |