设计模式—结构型模式之外观模式(门面模式)
外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。
例子
我们的电脑会有很多 组件,比如CPU、硬盘、内存等等;如果我们电脑需要启动的话,需要挨个去调用每个组件的启动方法;停止逻辑也是一样;我们可以提取到一个组合的类中,提供一个整体的启动方法,直接调用,这就是门面模式的使用。
代码如下:
public class Cpu {
public void start(){
System.out.println("CPU启动了");
}
}
public class Disk {
public void start(){
System.out.println("硬盘启动了");
}
}
public class Memory {
public void start(){
System.out.println("内存启动了");
}
}
/**
* 门面类
*/
public class ComputerFaced {
private Cpu cpu;
private Memory memory;
private Disk disk;
public ComputerFaced(){
this.cpu = new Cpu();
this.memory = new Memory();
this.disk = new Disk();
}
public void start(){
this.cpu.start();
this.memory.start();
this.disk.start();
}
}
我们的客户使用,就是如下:
public class FacedTest {
public static void main(String[] args) {
ComputerFaced computerFaced = new ComputerFaced();
computerFaced.start();
}
}
运行如下: