概念
外观模式提供了一个接口,用来访问子系统中定义的一堆接口。换句话说,外观模式提供了一个高层接口,使得可以更简便的使用子系统。
现在很多汽车上都有“一键启动”的功能。这个“一键启动”的按钮,就可以理解为外观模式提供的高层接口。汽车中包含了各种各样的子系统,子系统之间也许还有各种各样的关系。
那如果我们如果要一个一个的启动车上的各类子系统才能最终发动车辆是不是就过于繁琐了。外观模式提供的接口对这些子系统、接口的操作进行了整合,用户仅需要调用外观模式提供的接口即可。
在外观模式中主要包含三个角色:
- 子系统:已有模块或子系统,提供了一系列复杂的接口或功能
- 外观:它了解子系统,并对外暴露一个简单的接口
- 客户:调用外观提供的接口来实现功能,无需了解复杂的子系统
例子
除了上述的汽车的例子,还有一个很合适的例子就是电脑的开机过程。
电脑中包含了CPU、内存、硬盘、显卡、网卡等等硬件,而我们只需要按下电源键就可以使这些硬件启动。很显然,电源键就是外观模式所提供的高层接口。
各种硬件类:
public class CPU{
public void start(){
System