适配器模式:
1.将一个类的接口转换成客户希望的另外一个接口。
2. Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
3. 适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致情况。
/**
* 客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口
*/
public class Targer {
// 普通的请求
public void request(){
System.out.println("普通的请求。");
}
}
/**
* 需要适配的类
*/
public class Adaptee {
public void specificRequest(){
System.out.println("特殊的请求。");
}
}
/**
* 适配器,通过内部包装一个Adaptee对象,把源接口转换成目标接口
*/
public class Adapter extends Targer{
// 内部私有Adaptee对象
private Adaptee adaptee = new Adaptee();
@Override
public void request() {
// 把表面上调用request()方法变成实际调用specificRequest();
adaptee.specificRequest();
}
}
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Targer targer = new Adapter();
// 对客户端来说调用的就是Targer的request()方法。
targer.request();
}
}
- 大小: 18.5 KB
分享到:
相关推荐
适配器模式的Java实现版本,包含类适配器模式和对象适配器模式的实现,同时也包含两者的UML类图
java设计模式【之】适配器模式【源码】【场景:水和容器】 * 适配器模式,类似(亡羊补牢) * 已经存在的类(功能已经开发完成了),与新需求的功能相似,但是略有差异 * 当已经存在的方法无法满足现有需求,需要...
C#设计模式之适配器模式应用实例
设计模式之适配器模式Java版 设计模式之适配器模式Java版 设计模式之适配器模式Java版 设计模式之适配器模式Java版
[刚刚上传的demo运行有问题,重新传了个新的],这个的一个iOS的适配器模式的实例代码,目前就是一个简单的demo,后期还会更新适配器在 MVC,MVP,MVVM中的使用,demo对应着简书:https://www.jianshu.com/p/e2ebcf19098f,...
实验7 适配器模式、外观模式与模板方法模式---Java设计模式
动态代理模式 适配器模式 实现,都可以运行,有一部分注解
设计模式之适配器模式,通过实际例子讲述适配器模式的使用,原理和特点
适配器模式代码demo 适配器模式代码demo 适配器模式代码demo
适配器模式 设计模式 Adapter 还请各位大S指教
设计模式-适配器模式(讲解及其实现代码)
设计模式--适配器模式java例子
设计模式C++学习之适配器模式(Adapter)
实验七:适配器模式.rar实验七:适配器模式.rar
设计模式的适配器模式的例子,希望对大家有用
设计模式系列之适配器模式,分别以Java,Android,IOS进行讨论