设计模式之适配器模式

编程

定义

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工 作。

UML类图

适配器分为两种,类适配器与对象适配器。

类适配器的UML图:

对象适配器的UML图:

角色

Target: 需要适配为的接口。

Adapter: 适配器类。

Adaptee: 被适配的类。

类适配器与对象适配器

类适配器代码如:

public class Adapter extends Adaptee implements Target {

public void request() {

super.doSomething();

}

}

继承了Adaptee被适配类已获取被适配类的所有属性和行为,并实现需要适配为的接口,在接口实现方法中添加适配逻辑。

对象适配器代码如:

public class Adapter implements Target {

public Adaptee adaptee;

public Adapter(Adaptee adaptee){

this.adaptee = adaptee;

}

public void request() {

this.adaptee.doSomething();

}

}

其实就是将适配器与被适配的类的关系由继承变为了注入,也就是泛化关系变为了关联关系。

两者的区别是,对象适配器比类适配器更灵活,因为在JAVA中继承只能继承一个类,如果需要一个需要适配的接口的信息来源于多个类,那么这多个类原有的属性和行为就不能用继承的方式去获取,只能通过聚合。实际开发中,用对象适配器也比用类适配器的情况多。

应用场景

在产品迭代过程中,引入了新的资源,但又不匹配现有接口,可以使用适配器模式

以上是 设计模式之适配器模式 的全部内容, 来源链接: utcz.com/z/510849.html

回到顶部