设计模式探秘之适配器模式

Posted 洋葱头么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式探秘之适配器模式相关的知识,希望对你有一定的参考价值。

我们都知道在生活中,可能会遇到只有一个三插头的插座,但是你却需要一个两插头的插座,我想你也知道怎么解决,购买一个插座转换器就行了,这个插座转换器其实就应用了 适配器 的思想。
定义

将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

代码实现
/** * 供电 */public interface Target { /** * 供电 */ void power();}

/** * 三插头 */public class ThreePlug { public void name() { System.out.println("三插头插座供电"); }}
/** * 三插头适配器 */public class ThreePlugAdapter implements Target { private ThreePlug threePlug;
public ThreePlugAdapter(ThreePlug threePlug) { this.threePlug = threePlug; }
@Override public void power() { this.threePlug.name(); }}
/** * 测试 */public class Demo { public static void main(String[] args) { Target adapter = new ThreePlugAdapter(new ThreePlug()); adapter.power(); }}
代码分析

调用者可以理解为是一个两插头的手机充电器,三插头适配器就是转换器,这样三插头的插座就可以为两插头的手机充电器充电。

优缺点

优点:功能复用,接口不兼容的类可以一起工作。

缺点:适配器使用过多将导致系统零乱。

思考总结

适配器模式的本质是转换已存在的接口从而达到复用的效果,如果接口本身还没有设计或者接口的功能差异很大,那么就不要使用适配器模式,换句话说,已经发生的事情无法改变才适用适配器模式。



以上是关于设计模式探秘之适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式探秘之抽象工厂模式

设计模式探秘之单例模式

设计模式之单例模式

设计模式之适配器模式

设计模式之适配器模式

Java设计模式之适配器模式