设计模式之适配器模式
2017-04-21 22:13
197 查看
适配器模式
定义:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。适配器模式角色介绍
Target:目标角色,客户端将要调用的接口。
Adaptee:受改角色,原始接口也是实际调用的接口。
Adapter:适配器角色,负责兼容Target与Adaptee之间的不兼容。
适配器模式属于结构型模式,也很容易理解。可以看看笔记本电脑的电源线,连接220V的插头通过电源适配器转化成12V的接口供给电脑使用,适配器模式就是干类似的事情,解决两个接口的不兼容。
代码示例
目标接口(12V)
public interface Voltage12 { void _12V(); }
原始接口(220V)
public class Voltage220 { public void _220V(){ System.out.println("实际是220V"); } }
12V适配器
public class VoltageAdapter implements Voltage12{ private Voltage220 voltage220 = new Voltage220(); public void _12V() { //...经过XXX的处理,12V可以使用220V voltage220._220V(); } }
客户端
Voltage12 voltage12 = new VoltageAdapter(); voltage12._12V();//实际上是220V
从上面的例子可以看出,220V经过适配器转化成12V。有的人会说为什么不直接修改220V为12V就好了,从现实上讲根本不可能,因为电器电压都有不同的,从代码上角色可以直接修改,但是还记得开闭原则吗,对外开放对内关闭,比如220V已经迭代很多版本,使用的地方很多,如果直接修改220V类难免会影响其他类,这也轻松导致BUG的产生。而12V类也不愿意多
4000
做修改,只有通过适配器让它们兼容起来。不足之处望指教。
相关文章推荐
- Java设计模式之适配器模式(Adapter Pattern)
- c++/qt设计模式-适配器模式
- 设计模式之适配器模式
- 设计模式-门面模式与适配器模式
- 通俗易懂系列 | 设计模式(三):适配器模式
- C#设计模式之六适配器模式(Adapter Pattern)【结构型】
- 怎样让孩子爱上设计模式 —— 7.适配器模式(Adapter Pattern)
- 【设计模式 - 5】之适配器模式(Adapter)
- Java设计模式 -- 适配器模式
- 设计模式------适配器模式
- 结构型设计模式-适配器模式
- 设计模式之适配器模式(Adapter Class/Object)
- 设计模式--适配器模式,学习笔记
- 深入浅出设计模式——适配器模式(Adapter Pattern)
- 设计模式之适配器模式
- 设计模式 适配器模式
- Java 设计模式(五)适配器模式
- 设计模式七之适配器模式和外观模式1
- 设计模式——适配器模式及jdk中的应用