- 外观模式
外观模式是为了解决类与类之间的依赖关系,外观模式将依赖关系放到一个Facade 类中,降低类与类之间的耦合度。
- 实现类
public class Facade
{
public static void main(String[] args) {
Computer computer = new Computer();
computer.startup();
computer.shutdown();
}
}
class CPU
{
public void startup()
{
System.out.println("CPU StartUp");
}
public void shutdown()
{
System.out.println("CPU shutDown");
}
}
class Memory
{
public void startup()
{
System.out.println("memory StartUp");
}
public void shutdown()
{
System.out.println("memory shutDown");
}
}
class Disk
{
public void startup()
{
System.out.println("Disk StartUp");
}
public void shutdown()
{
System.out.println("Disk shutDown");
}
}
class Computer
{
private CPU cpu;
private Memory memory;
private Disk disk;
public Computer()
{
cpu = new CPU();
memory = new Memory();
disk = new Disk();
}
public void startup()
{
System.out.println("computer start");
cpu.startup();
memory.startup();
disk.startup();
System.out.println("computer finished");
}
public void shutdown()
{
System.out.println("computer shutdown begin");
cpu.shutdown();
memory.shutdown();
disk.shutdown();
System.out.println("shutdown fisished");
}
}
们没有 Computer 类,那么,CPU、Memory、Disk 他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了 Computer类,他们之间的关系被放在了 Computer 类里,这样就起到了解耦的作用,这,就是外观模式!