适配器模式:
将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
外观模式:
提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
适配器:将一个接口转成另一个接口
外观模式:让接口更简单
装饰者:不改变接口,但加入责任
外观与适配器区别:
1、外观不只是简化了接口,也将客户从组件的子系统中解耦
2、外观和适配器可以包装许多类,但是外观的意图是简化接口,而适配器的意图是将接口转换成不同接口
设计原则:
最少知识原则:只和你的密友谈话
java中用途:
Enumeration --> Iterator
要点:
1、当需要使用一个现有的类而其接口并不符合你的需要时,就使用适配器
2、档需要简化统一一个很大的接口或者一群复杂的接口时,使用外观
3、适配器改变接口以符合客户的期望
4、外观将客户从一个复杂的子系统中解耦
5、实现一个适配器可能要一番功夫,也可能不费功夫,视目标接口的大小与复杂度而定
6、实现一个外观,然后将工作委托给子系统执行
7、适配器模式有两种形式:对象适配器和类适配器。类适配器需要用到多重继承
8、你可以为一个子系统实现一个以上的实现
9、适配器将一个对象包装起来以改变其接口,装饰者将一个对象包装起来以增加新的行为和责任;而外观将一群对象“包装”起来以简化其接口