java设计模式参考文章:
Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式
## 定义 ##
为系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式是一种很简单的模式,我们有意无意都在使用这种模式。
## 代码示例 ##
- 每个Computer都有CPU、Memory、Disk。在Computer开启和关闭的时候,相应的部件也会开启和关闭。
public class CPU {
public void start()
{
System.out.println("cpu is start...");
}
public void shutDown()
{
System.out.println("CPU is shutDown...");
}
}
public class Disk {
public void start()
{
System.out.println("Disk is start...");
}
public void shutDown()
{
System.out.println("Disk is shutDown...");
}
}
public class Memory {
public void start()
{
System.out.println("Memory is start...");
}
public void shutDown()
{
System.out.println("Memory is shutDown...");
}
}
/**
* @author bwx
* @date 2017/11/28
* facade门面类
*/
public class Computer {
private CPU cpu;
private Memory memory;
private Disk disk;
public Computer()
{
cpu = new CPU();
memory = new Memory();
disk = new Disk();
}
public void start()
{
System.out.println("Computer start begin");
cpu.start();
disk.start();
memory.start();
System.out.println("Computer start end");
}
public void shutDown()
{
System.out.println("Computer shutDown begin");
cpu.shutDown();
disk.shutDown();
memory.shutDown();
System.out.println("Computer shutDown end...");
}
}
public class Main {
public static void main(String[] args) {
Computer computer = new Computer();
computer.start();
System.out.println("=================");
computer.shutDown();
}
}
## 优点 ##
我们提供给用户的某个功能,可能是包含很多个步骤的,
但我们可以把这些步骤封装到一个统一的接口中,让用户感觉仅仅就是一个单一的操作,
使用起来也就更加简单。