- 浏览: 24047 次
- 性别:
- 来自: 上海
文章分类
将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
public interface Target {
public void request();
}
public class Adaptee {
public void existRequest() {
//
}
}
public class Adapter implement Target {
private Adaptee adaptee;
// get方法
// set方法
public void request() {
adaptee.existRequest();
}
}
在客户端可以用下面代码:
Adaptee adaptee = new Adaptee();
Target target = new Adapter();
target.setAdaptee(adaptee);
target.request();
建议使用双向适配器同时实现Target和Adaptee接口。
对象适配器:依赖于对象组合。
类适配器:通过继承来实现,java不允许多继承,因此java中不能实现标准的类适配器。可以通过传递继承来实现。
public interface Target {
public void request();
}
public class Adaptee {
public void existRequest() {
//
}
}
public class Adapter implement Target {
private Adaptee adaptee;
// get方法
// set方法
public void request() {
adaptee.existRequest();
}
}
在客户端可以用下面代码:
Adaptee adaptee = new Adaptee();
Target target = new Adapter();
target.setAdaptee(adaptee);
target.request();
建议使用双向适配器同时实现Target和Adaptee接口。
对象适配器:依赖于对象组合。
类适配器:通过继承来实现,java不允许多继承,因此java中不能实现标准的类适配器。可以通过传递继承来实现。
发表评论
-
访问者模式Visitor预留通路,回调实现
2014-03-13 16:55 332表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各 ... -
桥接模式Bridge分离抽象和实现
2014-03-13 16:55 438将抽象部分与它的实现部分分离,使它们都可以独立地变化。 桥接 ... -
职责链模式Chain of Responsibility分离职责,动态组合
2014-03-12 17:25 321使多个对象都有机会处 ... -
装饰模式Decorator动态组合
2014-03-12 17:00 252动态地给一个对象添加 ... -
解释器模式Interpreters分离实现,解释执行
2014-03-12 16:27 268给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解 ... -
享元模式Flyweight分离与共享
2014-03-12 13:20 281运用共享技术有效地支持大量细粒度的对象。 安全实体:就是被系 ... -
备忘录模式Memento保存和回复内部状态
2014-03-11 17:47 415在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外 ... -
状态模式State根据状态来分离和选择行为
2014-03-11 17:20 363允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改 ... -
策略模式Strategy分离算法,选择实现
2014-03-11 15:26 395迪米特法则:LoD,最少知识原则。 如果两个类不必彼此直接通信 ... -
模板方法模式Templete Method 固定算法骨架
2014-03-11 11:15 514定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法 ... -
组合模式Composite统一叶子对象和组合对象
2014-03-07 18:18 290将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使 ... -
迭代器模式Iterator 控制访问聚合对象中的元素
2014-03-07 17:57 392提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该 ... -
命令模式Command 封装请求
2014-03-07 16:26 343将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数 ... -
观察者模式Observer订阅模式-触发联动
2014-03-07 11:19 350定义对象间的一种一对 ... -
代理模式Proxy 为别人做嫁衣(控制对象访问)
2014-03-06 00:39 310为其他对象提供一种代理以控罪对这个对象的访问。 代理大致被分为 ... -
中介者模式Mediator 封装交互
2014-03-06 00:19 350用一个中介对象来封装 ... -
原型模式Prototype 克隆生成对象
2014-03-06 00:19 549用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 ... -
生成器模式Builder 分离整体构建算法和部件构造
2014-03-06 00:19 284将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建 ... -
抽象工厂模式 Abstract Factory 选择产品簇的实现
2014-03-06 00:20 382工厂方法模式或简单工 ... -
工厂方法模式Factory Method延迟到子类来选择实现
2014-03-05 18:12 901定义一个用于创建对象 ...
相关推荐
设计模式专题之(八)适配器模式---设计模式适配器模式示例代码(python--c++)
胜为蓝牙适配器驱动 UDC-324 WIN XP版本
胜为蓝牙适配器驱动 UDC-324 WIN7版本
适配器模式(Adapter Pattern)是一种结构型设计模式,旨在将一个类的接口转换为客户端期望的另一个接口,从而使原本由于接口不兼容而无法一起工作的类能够协同工作。适配器模式通过引入一个适配器类,解决了接口不...
java 汽车适配器(Adapter适配器模式) java 汽车适配器(Adapter适配器模式)
设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式...
设计模式--适配器模式java例子
设计模式C++学习之适配器模式(Adapter)
Head First 设计模式 (七) 适配器模式(Adapter pattern) C++实现
23种设计模式--适配器模式
设计模式-适配器模式(讲解及其实现代码)
适配器模式允许不兼容的接口进行协同工作,通过适配器类将一个类的接口转换成客户端期望的接口形式。适配器模式可以包括对象适配器和类适配器两种实现方式,上述示例中使用的是对象适配器方式。适配器模式能够提供...
@wojtekmaj/enzyme-adapter-react-17 React 17 for 非官方适配器。安装 npm install --save-dev @wojtekmaj/enzyme-adapter-react-17或者,如果您使用的是 Yarn: yarn add --dev @wojtekmaj/enzyme-adapter-react-...
PROFIBUS通讯适配器RPBA-01手册.pdf
适配器模式(Adapter Pattern) 是作为两个不兼容接口之间的桥梁, 这种类型的设计模式属于结构型模式。 一些书籍也称适配器模式为缺省适配器模式(Default Adapter Pattern) 。 适配器模式主要分 为三类: 类...
适配器模式的PHP实现。大家可以参考一下。
适配器模式的Java实现版本,包含类适配器模式和对象适配器模式的实现,同时也包含两者的UML类图
chartjs-适配器日期-fns ... 默认情况下, https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns@next ://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns@next返回最新(最小化)版本,但是始终指
Kinco MPI适配器MT5-S7-300使用范例rar,Kinco MPI适配器MT5-S7-300使用范例
MTConnect适配器数据仿真器,可以生成模拟数据。