适配器模式
27 Aug 2017
定义:适配器相当于将被调用接口转换成客户想要的调用接口的中间过程
分为对象适配器、类适配器
对象适配器
多项适配器使用过于该类的任何子类
类适配器
不需要重新实现这个被适配者,甚至可以重写被适配者的行为,因为利用继承方式
以下是对象适配器的代码实例:
我们现在要把火鸡对象封装成鸭子,相当于用火鸡来适配鸭子
Duck
Turkey
TurkeyAdapter
测试代码
装饰者模式、适配器模式、外观模式
装饰者模式:在不改变原有代码的基础场进行功能扩展。
适配器模式:调用者与被调用者之间的接口转换
外观模式:让接口更简单
“最少知识”原则:只和你的密友谈话
这个原则希望我们在设计中,不要让太多的类耦合在一起,免得修改系统中一部分,会影响到其他部分。如果许多类之间相互依赖,那么这个系统就会变成一个易碎的系统,它需要花许多成本维护,也会因为天复杂而不容易被其他人了解。
如何减少密友
对于任何对象,在该对象的方法内,我们只应该调用以下范围的方法:
- 该对象本身
- 被当做方法的参数而传递进来的对象
- 此方法所创建或实例化的任何对象
- 对象的任何组件
如果调用从另一个调用种返回对象的方法,相当于另一个对象的子部分发出请求(增加我们直接认识对象的数目)。
在这种情况下,原则要我们改为要求该对象为我们做出请求,这么一来,我们就不需要认识该对象的组件了。如下:
这里,我们从气象站获取了温度计对象,然后在从温度计对象获取温度。
应用此原则时,我们在气象站种加入一个方法,用来向温度计请求温度,这可以减少我们所一来的类的数目。
“最少知识”原则的缺点
- 更多的包装类被制造出来,增加负责度和开发时间
- 降低运行时的性能