1、本章的例子——鸭子
public interface Duck {
public void quack();
public void fly();
}
public interface Turkey {
public void gobble();
public void fly();
}
希望把火鸡冒充成鸭子,可以提供一个接口适配器
public class TurkeyAdapter implements Duck {
Turkey turkey;
public TurkeyAdapter(Turkey turkey) {
this.turkey = turkey;
}
public void quack() {turkey.gobble();}
public void fly() {turkey.fly();}
}
2、适配器模式
适配器模式类图将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类合作无间。
- 通过组合实现适配
java中真实的适配器
-
remove()不存在于Enumeration中,适配器可以给这个放放抛出UnsupportedOperationException异常
迭代器适配
3、外观模式
外观模式类图提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
4、设计原则
最少知识:只和你的密友谈话
- 需要注意对象交互的类有哪些
- 对象和类是如何交互
- 不要让太多的类耦合在一起,面的修改系统中的一部分,会影响到其他部分
如何做到
- 只调用属于该对象本身
- 被当做方法的参数而传递进来的对象
- 此方法所创建或实例化的任何对象
- 对象的任何组件
网友评论