适配器模式
来源:互联网 发布:编程中什么是栈 编辑:程序博客网 时间:2024/06/01 20:34
- 什么是适配器模式
- 类关系描述
- 代码描述
- 适配器模式的使用场景
- 适配器模式的思考
什么是适配器模式
- 将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间
类关系描述
RealAction类是已经上线的类,客户用着它的realCall()方法实现了相应的需求,但是现在客户要求接口发生变化,Client那边现在需要实现Subject接口的类,但是需要的功能没有发生变化,意味着还是需要realCall()这个方法,为了不改变已经上线的RealAction类,我们可以让实现了Subject接口的类Adapter内部持有一个RealAction的引用,给用户Adapter,背后使用RealAction类的realCall方法
代码描述
Client.java
public class Client { Subject subject; public Client(Subject subject) { this.subject = subject; } //用户调用的方法 public void doSomething() { subject.call(); }}
Subject.java
public interface Subject { void call();}
Adapter.java
public class Adapter implements Subject{ RealAction realAction; public Adapter(RealAction realAction) { this.realAction = realAction; } @Override public void call() { realAction.realCall(); }}
RealAction.java
public class RealAction { public void realCall() { System.out.println("call RealAction"); }}
- 我们来看一下测试main方法
public class Main { public static void main(String[] args) { //创建一个已经上线的类(不能随意修改类中的细节) RealAction realAction = new RealAction(); //创建一个适配器,把已经上线的类传递进去 Adapter adapter = new Adapter(realAction); //创建客户类,把adapter传递进去 Client client = new Client(adapter); //客户调用方法实现需求 client.doSomething(); }}
当客户改变接口时,我们不需要修改上线的类,只需要从中间加一个适配器即可
适配器模式的使用场景
- 你有动机修改一个已经上线的接口时,使用适配器模式,将会大大减低你工作的复杂度
适配器模式的思考
- 适配器模式不是在设计阶段该考虑的一种模式,它属于解决多变需求或者前期缺陷设计的一种解决方案,它往往用在开发过程中,而不是最开始的设计中,注意,开发程序不应该陷入过度设计的泥潭
0 0
- 适配器及适配器模式
- 适配器及适配器模式
- 适配器模式(类适配器)
- 适配器模式(默认适配器)
- 适配器模式(对象适配器)
- 适配器模式-类适配器
- 适配器模式-对象适配器
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- Mysql优化之基础回顾篇
- Android View深入学习——实现QQ滑动显示隐藏按钮ListView
- 【java基础】JAVA常用正则表达式
- poj2752 kmp 最短子串重复次数
- ABAP读取文件 两种文件
- 适配器模式
- php设计模式之单例模式
- Android 之摇一摇录音(加速度传感器)
- SpringMVC处理请求流程(转载)
- iOS之 多线程的深入探究
- c++23、C++中类的交叉引用
- ABAP 读取文件 GUI_UPLOAD
- C语言assert
- :?的陷阱