定义
提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
设计原则
最少知识原则:只和你的密友谈话。
该原则希望我们在设计中不要让太多的类耦合在一起,免得修改系统中一部分会影响到其他部分。
类图示意
![](https://img.haomeiwen.com/i8657826/ebb6d12f43bed6fc.png)
生活事例
在自己家里做一个家庭影院,然后观影。当然想看电影需要做一系列的任务,如下
- 打开爆米花机
- 开始爆米花
- 将灯光调暗
- 放下屏幕
- 打开投影机
- 将投影机的输入切换到DVD
- 将投影机设置的宽屏模式
- 打开功放
- 将功放进行系列设置
如果上面的每一步都是如此复杂,那么我们需要调用相当多的方法。这时候为了简化调用,可以通过提供更合理的接口的外观类,让一个复杂的子系统变得容易使用。
注意: 外观模式并非只是简化了接口,也将客户从组件的子系统中解耦
代码示例
就不举例子了,主要就是通过一个新的类,增加其他类的引用,然后将一系列操作封装到一个方法中去。这样就不必一次次调用太多的方法,只需要调用一个方法。
网友评论