适配器的原理:
保留现有的类所提供的服务,修改其接口,从而达到客户端的期望。
——————————————————————————————
适配器模式的组成:
1) 目标(Target)角色:定义Client 使用的接口。
2) 被适配(Adaptee)角色:这个角色有一个已存在并使用了的接口,而这个接口是需要我们
适配的。
3) 适配器(Adapter)角色:这个适配器模式的核心。它将被适配角色已有的接口转换为目标
角色希望的接口。
——————————————————————————————
在什么情况下使用适配器设计模式?
1. 系统需要使用现有的类,而此类的接口不符合系统的需要。
2. 想要建立一个可以复用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。
3. 在设计里,需要改变多个已有的子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器类,而这不太实际。
——————————————————————————
适配器模式代码:
目标角色(Target),这里使用一个接口来说明:
客户端接口:
public interface Operation{
public int add(int a,int b);
public int minus(int a,int b);
public int multiplied(int a,int b);
}
被适配角色:
public class OtherAdd{
public int otherAdd(int a,int b){
return a + b;
}
}
public class OtherMinus{
public int minus(int a,int b){
return a - b;
}
}
public class OtherMultiplied{
public int multiplied(int a,int b){
return a * b;
}
}
适配器角色:
public class AdapterOperation implements Operation{
private OtherAdd add;
private OtherMinus minus;
private OtherMultiplied multiplied;
public void setAdd(OtherAdd add){
this.add = add;
}
public void setMinus(OtherMinus minus){
this.minus = minus;
}
public void setMultiplied(OtherMultiplied multiplied){
this.multiplied = multiplied;
}
//适配加法运算
public int add(int a,int b){
return add.otherAdd(a,b);
}
//适配减法运算
public int minus(int a,int b){
return minus.minus(a,b);
}
//适配乘法运算
public int multiplied(int a,int b){
return multiplied.multiplied(a,b);
}
}
分享到:
相关推荐
介绍适配器模式的概念、特点、优缺点、适用场景和java代码简单实现
设计模式之适配器模式Java版 设计模式之适配器模式Java版 设计模式之适配器模式Java版 设计模式之适配器模式Java版
适配器模式的Java实现版本,包含类适配器模式和对象适配器模式的实现,同时也包含两者的UML类图
C#设计模式之适配器模式应用实例
java设计模式之适配器模式,希望对大家有所帮助。
动态代理模式 适配器模式 实现,都可以运行,有一部分注解
适配器模式代码demo 适配器模式代码demo 适配器模式代码demo
java设计模式【之】适配器模式【源码】【场景:水和容器】 * 适配器模式,类似(亡羊补牢) * 已经存在的类(功能已经开发完成了),与新需求的功能相似,但是略有差异 * 当已经存在的方法无法满足现有需求,需要...
适配器模式的介绍: 适配器模式(Adapter Pattern) 是作为两个不兼容接口之间的桥梁, 这种类型的设计模式属于结构型模式。 一些书籍也称适配器模式为缺省适配器模式(Default Adapter Pattern) 。 适配器模式主要...
实验7 适配器模式、外观模式与模板方法模式---Java设计模式
Java设计模式之适配器模式
适配器模式 设计模式 Adapter 还请各位大S指教
[刚刚上传的demo运行有问题,重新传了个新的],这个的一个iOS的适配器模式的实例代码,目前就是一个简单的demo,后期还会更新适配器在 MVC,MVP,MVVM中的使用,demo对应着简书:https://www.jianshu.com/p/e2ebcf19098f,...
设计模式--适配器模式java例子
设计模式-适配器模式(讲解及其实现代码)
设计模式的适配器模式的例子,希望对大家有用
什么是抽象:抽象是处理对象复杂性的一种技术,它只关注对象的主要细节而忽略了对象的次要细节。
Java设计模式适配器模式,组成模式、外观模式代码架构