设计模式——适配器模式
2018-01-30 10:35
169 查看
适配器模式,将一个类的接口变换成客户端所期待的另一种接口, 从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
UML类图:
示例代码:
适配器模式可以让两个没有任何关系的类在一起运行,访问的Target目标角色, 但是具体的实现都委托给了源角色, 而这些对高层次模块是透明的, 也是它不需要关心的。类似一个灵活的构件, 想用就用, 不想就卸载。
适配器模式最好在详细设计阶段不要考虑它,系统扩展了, 不符合原有设计的时候才考虑通过适配器模式减少代码修改带来的风险。
UML类图:
示例代码:
// 目标角色 public interface Target { // 目标角色的方法 public void request(); } // 目标角色的一个具体实现类 public class ConcreteTarget implements Target { @Override public void request() { // 具体实现类的业务方法 } } // 源角色 public class Adaptee { public void method(){ // 原来的业务逻辑 } } // 适配器角色 public class Adapter extends Adaptee implements Target { @Override public void request() { // 在目标角色方法中执行源角色的方法 super.method(); } } // 测试类 public class Test { public static void main(String[] args){ // 原业务逻辑 Target target = new ConcreteTarget(); target.request(); // 加入适配器后的业务逻辑 Target target2 = new Adapter(); target2.request(); } }
适配器模式可以让两个没有任何关系的类在一起运行,访问的Target目标角色, 但是具体的实现都委托给了源角色, 而这些对高层次模块是透明的, 也是它不需要关心的。类似一个灵活的构件, 想用就用, 不想就卸载。
适配器模式最好在详细设计阶段不要考虑它,系统扩展了, 不符合原有设计的时候才考虑通过适配器模式减少代码修改带来的风险。
相关文章推荐
- Python设计模式——适配器模式
- 设计模式——适配器模式
- Java设计模式-适配器模式Adapter
- java设计模式学习-适配器模式
- C#设计模式之微信H5牛牛源码平台搭建适配器模式
- 设计模式之适配器模式 adapter
- Java设计模式之《适配器模式》及应用场景
- Adapter 适配器模式(设计模式03)
- 设计模式之--适配器模式(adapter)
- Android设计模式-适配器模式
- 设计模式--缺醒适配器模式
- 设计模式之适配器模式(九)
- 设计模式学习笔记-适配器模式
- 设计模式--适配器模式
- Java设计模式 — 适配器模式
- 设计模式之禅【适配器模式】
- JAVA设计模式之适配器模式
- .NET设计模式-适配器模式(Adapter Pattern)
- 【Java设计模式】之适配器模式
- Spring中的设计模式-适配器模式