欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Adapter(适配器)模式

发布时间:2024/8/1 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Adapter(适配器)模式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Adapter 模式是一个常用的模式,它可以与其他很多模式共同使用
Adapter模式的意图是 将一个类的接口转换成希望的另外一种接口,Adapter模式使原本由接口不兼容而不能一起工作的那一些类可以起工作,就是说 需要一种方法,为一个内容合适但接口不配的对象创建一个新的接口,这样把一个类的接口转换成客户端所期待的另一个接口,从而使原接口不匹配而无法在一起工作的两个类能在一起工作

意图:将一个无法控制的现有对象与一个特定的接口相匹配 问题:一个系统拥有正确的数据行为,但接口却是错误的,典型用途:必须把某些东西实现为定义或已经拥有的抽象类的派生类 角色:目标(定义一个客户端使用特定接口)、客户(使用目标接口与和目标接口一致的对象合作)、被适配者(一个现存需要匹配的接口)、适配器(负责将接口转换成目标) 解决方案:Adapter模式用需要的接口对无法修改的类进行包装 参与者与协作者:Adapter 对 Adaptee 的接口进行适配,使它与Target(Adapter派生自它)相匹配。让 Client 把 Adaptee 当作 Target 的一个类型来使用它 效果:Adapter 模式让现存的对象适应新的结构,而不受接口的限制 实现:将现存的类包含在另一个类之中。包容类与需要的接口相匹配,并调用被包容类的方法
许多模式都要求某些特定的派生自同一个类,如果已经有现存的类,可以用 Adapter模式将它与适当的抽象类相适配
Adapter模式有两种用类型: 1> 对象 Adapter 模式:使用 Adapter模式叫做对象Adapter模式,因为它依赖于一个对象(适配对象)包含另一个对象(被适配对象) 2> 类 Adapter 模式:实现 Adapter模式的另一种方法是使用多重继承,在这种情况下,它被称为类 Adapter模式
Facade模式 与 Adapter模式的比较
Adapter模式将接口转换成另一个现有的接口
如,示例代码: public interface XmlReader { public InputStream xmlReader(); }
public interface ReaderXml { public InputStream readerXml(); }
public class B implements ReaderXml { @Override public InputStream readerXml() { return null ; } }
public class Adapter1 extends B implements XmlReader { @Override public InputStream xmlReader() { return readerXml(); } }
public class Adapter2 implements XmlReader { ReaderXml b = new B(); @Override public InputStream xmlReader() { return b .readerXml(); } }

总结

以上是生活随笔为你收集整理的Adapter(适配器)模式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。