设计模式学习笔记-适配器模式
2011-08-27 15:26
274 查看
概述:
适配器模式(atapter)将一个类的接口转换成用户希望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场合:
1.你想使用一个已经存在的类,而它的接口不符合你的要求。
2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
3.(仅适用于对象adapter),你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口
类图:
代码结构:
1.目标接口
2.需要适配的类
3.构造适配器
4.调用示例
小结:
适配器模式是在重构无门的情况下出此下策,解决实际的问题最重要,.net类库里的DataAdapter对象就是用作DataSet和数据源之间的适配器以便检索和保存数据,DataAdapter通过映射Fill(这更改了DataSet中的数据以便于数据源中的数据相匹配)和Update(这更改了数据源中的数据以便于DataSet中 数据相匹配)来提供这一适配器。
适配器模式(atapter)将一个类的接口转换成用户希望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场合:
1.你想使用一个已经存在的类,而它的接口不符合你的要求。
2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
3.(仅适用于对象adapter),你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口
类图:
代码结构:
1.目标接口
/// <summary> /// 客户期待的目标接口 /// </summary> class Target { public virtual void Request() { Console.WriteLine("普通请求"); } }
2.需要适配的类
/// <summary> /// 需要适配的类 /// </summary> class Adaptee { public void SpecificRequest() { Console.WriteLine("特殊请求"); } }
3.构造适配器
/// <summary> /// 通过在内部包装一个Adapter对象,把源接口转换成目标接口 /// </summary> class Adapter:Target { /// <summary> /// 建立一个私有的Adapter对象 /// </summary> private Adaptee adaptee = new Adaptee(); public override void Request() { //这样就可以把表面上调用Request()方法变成实际调用SpecificRequest() adaptee.SpecificRequest(); } }
4.调用示例
/// <summary> /// 测试适配器模式 /// </summary> static void TestAdapter() { Target target = new Adapter(); target.Request(); Console.Read(); }
小结:
适配器模式是在重构无门的情况下出此下策,解决实际的问题最重要,.net类库里的DataAdapter对象就是用作DataSet和数据源之间的适配器以便检索和保存数据,DataAdapter通过映射Fill(这更改了DataSet中的数据以便于数据源中的数据相匹配)和Update(这更改了数据源中的数据以便于DataSet中 数据相匹配)来提供这一适配器。
相关文章推荐
- 【学习笔记javascript设计模式与开发实践(适配器模式)----17】
- 设计模式学习笔记——适配器模式(Adapter Patten)
- 设计模式学习笔记-适配器模式
- 知了堂学习笔记--Java设计模式之适配器模式(转)
- 设计模式--适配器模式,学习笔记
- java/android 设计模式学习笔记(6)---适配器模式
- Golang 设计模式 学习笔记(七)适配器模式
- 设计模式学习笔记-适配器模式
- 设计模式学习笔记-适配器模式
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- 设计模式学习笔记(五:适配器模式)
- 设计模式学习笔记-适配器模式
- 设计模式学习笔记-适配器模式
- 【学习笔记】设计模式-适配器模式
- 设计模式学习笔记之适配器模式
- java设计模式学习笔记-适配器模式
- 设计模式学习笔记——适配器模式
- java学习笔记-设计模式7(适配器模式)
- 设计模式学习笔记(七)- --适配器模式
- 十三、适配器模式——设计模式学习笔记