外观模式
UML
![外观模式](https://i-blog.csdnimg.cn/blog_migrate/e3b81d12c705d074410b526a6451f753.png)
解释说明
- 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
- 依赖倒转原则和迪米特法则的思想。
- 在旧系统上开发新系统,可以开发一个外观Facade类,用以提供简明的接口;从而使新系统与Facade对象交互,Facade与旧系统交互。
代码实现
package learn08;
public class SubSystemOne {
public void methodOne() {
System.out.println("执行旧系统方法1!");
}
}
package learn08;
public class SubSystemTwo {
public void methodTwo() {
System.out.println("执行旧系统方法2!");
}
}
package learn08;
public class Facade {
SubSystemOne s1;
SubSystemTwo s2;
public Facade() {
s1 = new SubSystemOne();
s2 = new SubSystemTwo();
}
public void methodA() {
System.out.println("执行旧系统中方法组A。");
s1.methodOne();
s2.methodTwo();
}
public void methodB() {
System.out.println("执行旧系统中方法组B。");
s2.methodTwo();
s1.methodOne();
}
}
import learn08.*;
public class Main {
public static void main(String[] args) {
Facade facade = new Facade();
facade.methodA();
facade.methodB();
}
}
参考资料