2009年4月9日星期四

JavaDesign_012:适配器模式 Adapter(摘录+整理)

1. 特点
(1)把某个类的接口(Adaptee 被适配者)变成客户端期待的另一种接口Adaptor 适配器从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。

2. 两种代码架构
(1)Adapter类继承Adaptee类,同时实现客户端期待的新接口。优点:可以置换Adaptee的方法。
缺点:无法适配Adaptee的子类。
(2)Adapter类关联Adaptee类,即在Adapter类中有类型为Adaptee的实例变量,同时实现客户端期待的新接口。优点:可以适配Adaptee的子类。
缺点:
无法置换Adaptee的方法(可以Adaptee的子类置换,然后适配子类)。

3. Java中对适配器模式的应用
(1)事件监听器适配器类
(2)缺省适配器类:必须让某个类实现某一个接口,但这个类又用不到接口中规定的所有方法。解决办法:用一个抽象类实现该接口(每个方法实现都是空方法),该抽象类为缺省适配器,真正的适配器类继承缺省适配器,从而可以只实现需要实现的方法。

4. 与代理模式的区别
适配器模式改变对象的接口,代理模式不改变所代理对象的接口。

5. 典型应用场景(1)变压器。(美国生活电压110v,中国220v)
(2)JDBC。
参考文献:
1. 《设计模式》 板桥里人
2. 《Java与模式》 阎宏

没有评论: