外观模式(Facade Pattern)属于结构型模式。用来向用户提供一个可以访问系统的接口。在用户调用和复杂系统之间再加一层,这一层用来将处理调用顺序和依赖关系。
demo:
在开电脑和关电脑的时候,我们不需要知道电脑的内部结构,只需要按开关就可以了
电脑中CPU、硬盘、网络的启动和关闭:
public class Cpu {
public void start(){
System.out.println("CPU_START");
}
public void shutdown(){
System.out.println("CPU_SHUTDOWN");
}
}
public class Disk {
public void start(){
System.out.println("DISK_START");
}
public void shutdown(){
System.out.println("DISK_SHUTDOWN");
}
}
public class Net {
public void start(){
System.out.println("NET_START");
}
public void shutdown(){
System.out.println("NET_SHUTDOWN");
}
}
电脑的外观类:
public class Computer {
private Cpu cpu;
private Disk disk;
private Net net;
public Computer() {
cpu = new Cpu();
disk = new Disk();
net = new Net();
}
public void start(){
System.out.println("开电脑");
cpu.start();
disk.start();
net.start();
}
public void shutDown(){
System.out.println("关电脑");
cpu.shutdown();
disk.shutdown();
net.shutdown();
}
}
调用:
Computer computer = new Computer();
computer.start();
computer.shutDown();
输出结果:
开电脑
CPU_START
DISK_START
NET_START
关电脑
CPU_SHUTDOWN
DISK_SHUTDOWN
NET_SHUTDOWN