/**
* 外观角色(Facade): 对客户端接口,用于访问子系统
*/
public class Facade {
Air air;
Light light;
Tv tv;
public Facade(Air air,Light light, Tv tv){
this.air = air;
this.light = light;
this.tv = tv;
}
public void open(){
air.open();
light.open();
tv.open();
}
public void close(){
air.close();
light.close();
tv.close();
}
}
子系统角色(subSystem)
/**
* 子系统角色(subSystem)
*/
public class Air {
public void open(){
System.out.println("开空调");
}
public void close(){
System.out.println("关空调");
}
}
/**
* 子系统角色(subSystem)
*/
public class Light {
public void open(){
System.out.println("开灯");
}
public void close(){
System.out.println("关灯");
}
}
test类
public class Test {
public static void main(String[] args) {
Facade facade = new Facade(new Air(), new Light(), new Tv());
System.out.println("回家了:");
facade.open();
System.out.println("睡觉了:");
facade.close();
}
}