适配器模式
定义
适配器模式将一个类的接口, 转换成客户期望的另一个接口. 适配器让原本不兼容的类可以合作无间.
案例
背景: 有鸭子接口,火鸡接口,先将火鸡类型适配成鸭子类型
TurkeyAdapter适配器实现需要的类型(Duck),并持有适配的类型(Turkey)
public class TurkeyAdapter implements Duck {Turkey turkey;public TurkeyAdapter(Turkey turkey) {this.turkey = turkey;}@Overridepublic void quack() {turkey.gobble();}@Overridepublic void fly() {turkey.fly();}}
测试
@Testpublic void testAdapter() {TurkeyAdapter adapter = new TurkeyAdapter(new WildTurkey());adapter.quack();adapter.fly();}结果:咯咯叫火鸡飞
外观模式
定义
外观模式提供了一个统一的接口, 用来访问子系统中的一群接口, 外观定义了一个高层接口, 让子系统更容易使用
**
- 外观不仅简化了接口, 也将客户从组件的子系统中解耦
- 外观和适配器可以包装许多类, 但是外观的意图是简化接口, 而适配器的意图是将接口转换成不同的接口
设计原则:
- 最少知道原则: 之和你的密友谈话


案例

