《大话设计模式》第十二章
package ch12;
public class SubSystemOne {
public void methodOne() {
System.out.println("子系统方法1");
}
}
package ch12;
public class SubSystemTwo {
public void methodTwo() {
System.out.println("子系统方法2");
}
}
package ch12;
public class SubSystemThree {
public void methodThree() {
System.out.println("子系统方法3");
}
}
package ch12;
public class SubSystemFour {
public void methodFour() {
System.out.println("子系统方法4");
}
}
package ch12;
public class Facade {
private SubSystemOne one;
private SubSystemTwo two;
private SubSystemThree three;
private SubSystemFour four;
public Facade() {
one = new SubSystemOne();
two = new SubSystemTwo();
three = new SubSystemThree();
four = new SubSystemFour();
}
public void methodA() {
one.methodOne();
two.methodTwo();
four.methodFour();
}
public void methodB() {
two.methodTwo();
three.methodThree();
}
}
package ch12;
/**
* 外观模式
* @author Administrator
*
*/
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
Facade facade = new Facade();
facade.methodA();
facade.methodB();
}
}
外观模式:为子系统中的一组接口提供一个一致的界面。
一开始,我觉得外观模式和桥接模式很像,感觉都是提供一个一致的界面,后来仔细想想,并且看看代码,发现是不一样的。在外观模式里,是为多个子系统提供一致的界面,而桥接模式则是提供一个接口,让其他系统去实现这个接口。