设计模式之 适配器模式
2016-05-31 14:31
176 查看
1.适配模式是很长常用的一种设计模式,简单,通俗易懂,下面举一个例子来引入概念:
例:俩接俩跟不同的水管,A水管很粗,B水管很细,现在如何将他们连接起来?在现实生活中焊接水管的师傅使用一个既能连接A水管又能连接B水管的水管,这样就能把AB连接起来了。这种解决方案,在设计模式中我们称之为“适配器模式”。连接AB水管的哪根水管我们称之为适配器(Adapter)
适配器模式概念:在软件设计中为了解决适配器接口不一致的问题,俩个模块之前往往需要引入一个适配器类Adapter进行适配.这样的设计模式称之为“适配器模式”。适配器模式分为俩种:“类适配器模式”和“对象适配器模式”。
下面是类适配器的uml图:
接口function里面有3个方法 要实现。模块Adaptee中只有实现了一个operation1方法。这个时候就需要添加第三方类Adapter,通过继承Adaptee 并且实现function接口,就可以解决这个问题。
现在有一个问题 就是模块中不止一个类。还有一个Adaptee1,Adaptee2 需要和接口对接,这个时候用类适配器无法完成,需要用对象适配器。对象适配器的uml如下:
adapter通过构造器 传入参数 Adaptee1的对象,和Adaptee2的对象为变量,Adaptee1,和变量Adaptee2赋值,这样在operation1(),和operation2里面直接调用Adaptee1.operation1(),Adaptee2.operation2(),着重需要重写operation3().
适配器模式很简单。往往用在俩个模块接口不一致的地方。
例:俩接俩跟不同的水管,A水管很粗,B水管很细,现在如何将他们连接起来?在现实生活中焊接水管的师傅使用一个既能连接A水管又能连接B水管的水管,这样就能把AB连接起来了。这种解决方案,在设计模式中我们称之为“适配器模式”。连接AB水管的哪根水管我们称之为适配器(Adapter)
适配器模式概念:在软件设计中为了解决适配器接口不一致的问题,俩个模块之前往往需要引入一个适配器类Adapter进行适配.这样的设计模式称之为“适配器模式”。适配器模式分为俩种:“类适配器模式”和“对象适配器模式”。
下面是类适配器的uml图:
接口function里面有3个方法 要实现。模块Adaptee中只有实现了一个operation1方法。这个时候就需要添加第三方类Adapter,通过继承Adaptee 并且实现function接口,就可以解决这个问题。
现在有一个问题 就是模块中不止一个类。还有一个Adaptee1,Adaptee2 需要和接口对接,这个时候用类适配器无法完成,需要用对象适配器。对象适配器的uml如下:
adapter通过构造器 传入参数 Adaptee1的对象,和Adaptee2的对象为变量,Adaptee1,和变量Adaptee2赋值,这样在operation1(),和operation2里面直接调用Adaptee1.operation1(),Adaptee2.operation2(),着重需要重写operation3().
适配器模式很简单。往往用在俩个模块接口不一致的地方。
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- Ruby设计模式编程之适配器模式实战攻略
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- Ruby设计模式编程中对外观模式的应用实例分析
- 实例解析Ruby设计模式编程中Strategy策略模式的使用
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- Ruby使用设计模式中的代理模式与装饰模式的代码实例
- 详解组合模式的结构及其在Ruby设计模式编程中的运用
- C#编程中使用设计模式中的原型模式的实例讲解
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 实例解析C#设计模式编程中简单工厂模式的使用
- 详解C#设计模式编程中生成器模式的使用
- 深入解析C#设计模式编程中对建造者模式的运用