外观模式就是一个简单的接口包括组建、接口、抽象类、子系统。外观模式就是为了解决类与类之间的依赖关系,下面是网上盗了一张图
package Facade;
public class CPU {
public void start(){
System.out.println("start cpu");
}
public void shudown(){
System.out.println("shudow cpu");
}
}
package Facade;
public class Disk {
public void start(){
System.out.println("start disk");
}
public void shudown(){
System.out.println("shudown disk");
}
}
package Facade;
public class Memory {
public void start(){
System.out.println("start memory");
}
public void shudown(){
System.out.println("start shudown");
}
}
package Facade;
public class Computer {
private CPU cpu;
private Memory memory;
private Disk disk;
public Computer() {
this.cpu = new CPU();
this.memory = new Memory();
this.disk = new Disk();
}
public void start(){
System.out.println("start the computer");
cpu.start();
memory.start();
disk.start();
System.out.println("start the computer");
}
public void shudown(){
System.out.println("shudown the computer");
cpu.shudown();
memory.shudown();
disk.shudown();
System.out.println("shudown the computer ");
}
}
package Facade;
public class User {
public static void main(String[] args) {
Computer computer = new Computer();
computer.start();
computer.shudown();
}
}
结果:
start the computer
start cpu
start memory
start disk
start the computer
shudown the computer
shudow cpu
start shudown
shudown disk
shudown the computer
从上面代码可以看出,外观模式作用是减少类与类之间的依赖,松耦合