定义:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。
用自己的话:把所有操作复杂的类集合到一起,提供一个容易操作的接口
代码:
定义一个灯类:
public class Light {
public void openLight() {
System.out.println("开灯");
}
public void closeLight(){
System.out.println("关灯");
}
}
定义一个电视类:
public class Tv {
public void openTv() {
System.out.println("打开电视");
}
public void closeTv(){
System.out.println("关闭电视");
}
}
定义一个外观类:
public class HomeTheaterFacade {
Tv tv;
Light light;
public HomeTheaterFacade(Tv tv,Light light){
this.tv=tv;
this.light=light;
}
public void iAmGoHome(){
light.openLight();
tv.openTv();
}
}
测试:
public static void main(String[] args){
HomeTheaterFacade h = new HomeTheaterFacade(new Tv(), new Light());
h.iAmGoHome();
h.iAmGoToWork();
}
结果:
开灯
打开电视
关闭电视
关灯