学位论文 第二章设计模式研究 3.适配器(Adapter)角色:将源接口转换到目标接口上去。
由一个具体类扮演,如: Adapter.java public class Adapter extends Adaptee implements Target{ public void sampleOperation20{ ?7具体代码 J } Adapter在继承Adaptee后,补足一些未实现的功能,或者override一些方法,从而实现Target接口. 类适配器总结: 1)源的子类无法和源使用同一个适配器; 2)实现时可以override源的方法。
>对象适配器涉及角色有 1.目标(Target)角色:目标角色是所期待的接口.由一个接口扮演,也可 以是一个抽象/具体类,如: Target.java public interface Target{ j聃 ·类kdaptee包含操作sampleOperationl. 卑| void sampleOperationl 0: |蚺 宰类Adaptee不包含操作sampleOperation2 卑| void s£LmpleOperation2 0: ) 10天津大学硕士学位论文 第二章设计模式研究 2.源角色(Adaptee)角色:现有的接口.将被适配到Target上去,如: Adaptee.Java public class Adaptee{ public void sampleOperationl 0{) } 3.适配器(Adapter)角色:将源接口转换到目标接口上去。
由一个具体类扮演对象Adapter的定义方法,如: Adapter.Java publ ic class Adapter implements Target{ private Adaptee adaptee: public Adapter(Adaptee adaptee){ super0: this.adaptee=adaptee: } public void sampleOperationl 0 f adaptee.sampleOperationl(): l public void sampleOperation2 0{ //具体代码 ) } 对象适配器总结: 1)源类和源类的子类都可以通过同一个适配器适配到同一个目标; 2)不太容易置换源类的方法; 3)易于增加新的方法; 使用适配器的情况: 1)系统需要使用现有的类, 而此类的接口不符合系统的需要; 2)想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。
而源类不需要设计一些复杂的接口; 3)(对对象适配器而言)需要改变多个已有的子类的接口。
2.2.4装饰模式(Adapter) 我们通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类 11天津大学硕士学位论文 第二章设计模式研究很繁多,那么势必生成很多子类,增加系统的复杂性。
同时,使用继承实现功能拓展。
我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。
装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
装饰模式以对客户透明的方式给一个对象加上更多的责任。
它可以在不使用创造更多子类的情况下,将对象的功能加以扩展。
.
上一篇:
分布式环境下的文档相似度研究与实现
下一篇:
关联分类方法在铝电解中的应用研究