设计模式之适配器模式
定义
将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工 作。
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