设计模式:适配器模式
2014-12-11 17:21
281 查看
原文地址:http://leihuang.org/2014/12/06/adapter/
Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
Default Adapter 模式
Adapter 模式
Bridge 模式
Composite 模式
Decorator 模式
Facade 模式
Flyweight 模式
Proxy 模式
什么是适配器呢?
举个例子吧,就比如程序员喜欢用linux编程,但是呢,我们有时又需要用qq,而linux下面没有qq,怎么办?于是就有了wine这个东西.这里的wine就是一个适配器(WineAdapter),而linux就是适配源(LinuxAdaptee).这里我们将windows平台,定义为一个接口(IWindows).
不过适配器模式有两种实现方式,一种是类适配器(适配器继承适配源),第二种是对象适配器(适配器中含有一个适配源的对象)
IWindows 接口
LinuxAdaptee 类
WineAdapter 类
下面时对象适配器的类结构图
实现的话,只有WineAdapter适配器的不同
2014-12-06 22:11:17
Brave,Happy,Thanksgiving !
Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
Default Adapter 模式
Adapter 模式
Bridge 模式
Composite 模式
Decorator 模式
Facade 模式
Flyweight 模式
Proxy 模式
什么是适配器呢?
举个例子吧,就比如程序员喜欢用linux编程,但是呢,我们有时又需要用qq,而linux下面没有qq,怎么办?于是就有了wine这个东西.这里的wine就是一个适配器(WineAdapter),而linux就是适配源(LinuxAdaptee).这里我们将windows平台,定义为一个接口(IWindows).
不过适配器模式有两种实现方式,一种是类适配器(适配器继承适配源),第二种是对象适配器(适配器中含有一个适配源的对象)
类适配器
IWindows 接口
public interface IWindows { public void coding() ; public void qq() ; }
LinuxAdaptee 类
public class LinuxAdaptee { public void coding(){ System.out.println("print 'Hello World'"); } }
WineAdapter 类
public class WineAdapter extends LinuxAdaptee implements IWindows { public void coding() { super.coding(); //也可以定义在wine中编码方式 } @Override public void qq() { System.out.println("qq"); } }
对象适配器
下面时对象适配器的类结构图实现的话,只有WineAdapter适配器的不同
public class WineAdapter implements IWindows { private LinuxAdaptee linux = null ; public WineAdapter(LinuxAdaptee linux){ this.linux = linux ; } public void coding() { linux.coding(); } @Override public void qq() { System.out.println("qq"); } }
2014-12-06 22:11:17
Brave,Happy,Thanksgiving !
相关文章推荐
- 结构型设计模式---Adapter模式(适配器模式)
- 设计模式[3] Adapter 适配器模式
- 设计模式c#语言描述——适配器模式
- Head First 设计模式之适配器模式学习
- Java设计模式之适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式学习(七)适配器模式
- 设计模式1-适配器模式(Adapter)
- 设计模式 - Adapter Pattern(适配器模式)
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- 结合实现谈设计模式——适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式——适配器模式
- .NET设计模式-适配器模式(Adapter Pattern)
- Dot Net设计模式—适配器模式
- 设计模式c#语言描述——建造者模式、适配器模式、合成(Composite)模式
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- Java设计模式之适配器模式
- .NET设计模式(8):适配器模式(Adapter Pattern)
- 设计模式(9)-适配器模式(Adapter)