您的位置:首页 > 其它

适配器模式(Adapter Pattern)

2017-12-18 19:59 246 查看
定义:

适配器模式,即定义一个包装类,用于包装不兼容接口的对象

解决的问题:

原本由于接口不兼容而不能一起工作的那些类可以在一起工作

类别:

类的适配器模式和对象的适配器模式

uml类图:



模式组成

目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口

需要适配的类(Adaptee):需要适配的类或适配者类

适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口

优点:

更好的复用性

系统需要使用现有的类,而此类的接口不符合系统的需要。那么通过适配器模式就可以让这些功能得到更好的复用。

透明、简单

客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单 & 更直接

更好的扩展性

在实现适配器功能的时候,可以调用自己开发的功能,从而自然地扩展系统的功能。

解耦性

将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码

符合开放-关闭原则

同一个适配器可以把适配者类和它的子类都适配到目标接口;可以为不同的目标接口实现不同的适配器,而不需要修改待适配类

缺点:

过多的使用适配器,会让系统非常零乱,不易整体进行把握

举个栗子

定义目标接口

interface Target {
public void request();
}


定义需要适配的类

class Adaptee {
public void specificRequest() {
}
}


定义适配器

class Adatper implements Target {
private Adaptee ad;

@Override
public void request() {
ad.specificRequest();
}
}


客户端调用

Target t = new Adatper();
t.request();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: