
外观模式主要应用场景在于为复杂的子系统提供一个简单的接口,提高子系统的独立性。
创建DrawerOne类:
package facade; public class DrawerOne {
public void open() {
System.out.println("第一个抽屉被打开了");
getKey();
}
public void getKey() {
System.out.println("得到第一个抽屉的钥匙");
} }
创建DrawerTwo类:
package facade; public class DrawerTwo {
public void open() {
System.out.println("第二个抽屉被打开了");
getFile();
}
public void getFile() {
System.out.println("得到这个重要文件");
} }
观察类:
package facade; public class DrawerFacade {
DrawerOne darwerOne = new DrawerOne();
DrawerTwo darwerTwo = new DrawerTwo();
public void open() {
darwerOne.open();
darwerTwo.open();
} }
测试下,这个测试类统一使用DrawerFacade类来调用其他子系统类功能
package facade; public class Test {
public static void main(String[] args) {
DrawerFacade drawer = new DrawerFacade();
drawer.open();
}
}
结果:
第一个抽屉被打开了
得到第一个抽屉的钥匙
第二个抽屉被打开了
得到这个重要文件