外观模式原理

家庭影院项目

image.png

传统的控制接口设计

  1. ![image.png](https://cdn.nlark.com/yuque/0/2019/png/153990/1561885612373-7cb25562-2b6b-4168-bffc-18bbce81d57a.png "image.png")

外观模式的设计

image.png

image.png

外观模式代码实现

1.设备代码 单例模式

image.png

image.png

2.外观 类

image.png

image.png

外观模式与命令模式

命令模式,将命令变成命令对象,使用宏命令执行
外观模式对外暴露一个接口,不关心内部实现,与内部解耦;
命令模式,使用组合,将各个命令对象暴露出来。

外观模式与适配器模式
适配器是将对象或类以另一种形式展现出来;
外观模式是系统对外暴露的一个接口;

最少知识原则

最少知识意义

image.png

如何遵循最少知识原则

image.png

方法的返回值为其他对象,最好不要用

例子

组件、参数、实例化
image.png

外观模式与最少知识原则

将系统封闭,只暴露几个接口,不需要知道具体实现

关键点

与命令模式侧重点不同,外观模式只展示几个接口,使系统使用更简单
命令模式对命令封装,解耦控制与被控制

最少知识原则:
调用对象本身,调用参数,实例化的对象,组件