- 目的:简化接口
假设自己有一个家庭影院,那么看电影时候需要如下操作:
- 灯光调暗
- 放下屏幕
- 打开投影仪
- 切换到dvd
- 打开功放
- 调节音量
- 打开dvd
- 播放dvd
需要设置如此多的步骤。
外观模式的目的就是提供一个更合理接口的外观类,把一个复杂子系统变得更容易。
创建一个家庭影院类,提供一个WatchMovie方法,把上面八个步骤都放进去,下次看电影时候只需要点击WatchMovie一个操作就可以了。
- 外观模式只是提供一个更直接的操作,他没有将原来的子系统阻隔起来。
- 可以帮客户和子系统之间避免紧耦合
- 提供一个统一的接口,来访问子系统中的一群接口。