设计模式学习笔记六——Adapter模式
2007-06-06 13:50
375 查看
动机:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用:旧代码复用、类库迁移等。
场景:原有一只SP/2接口的鼠标,现想插在ThinkPad T60上使用,由于T60鼠标接口为USB接口,所以需要一个转换器进行转接。
说明:适配器包括两种实现结构:对象适配器和类适配器。类适配器使用多继承,带来不良的高耦合,一般不使用。
结构
namespace DesignPattern.Adapter
{
/**//// <summary>
/// 原有类
/// </summary>
public class SP2Mouse
{
public void MoveSP2()
{
}
public void TuneSP2()
{
}
}
/**//// <summary>
/// 客户希望的接口
/// </summary>
interface IMouse
{
void Init();
void Move();
void Tune();
void End();
}
/**//// <summary>
/// 对象适配器
/// </summary>
public class MouseAdapter : IMouse
{
SP2Mouse sp2Mouse; // 被适配对象
public MouseAdapter()
{
sp2Mouse = new SP2Mouse();
}
public void Init()
{
}
public void Move()
{
sp2Mouse.MoveSP2();
// Do something else
}
public void Tune()
{
sp2Mouse.TuneSP2();
// Do something else
}
public void End()
{
}
}
}
应用:旧代码复用、类库迁移等。
场景:原有一只SP/2接口的鼠标,现想插在ThinkPad T60上使用,由于T60鼠标接口为USB接口,所以需要一个转换器进行转接。
说明:适配器包括两种实现结构:对象适配器和类适配器。类适配器使用多继承,带来不良的高耦合,一般不使用。
结构
namespace DesignPattern.Adapter
{
/**//// <summary>
/// 原有类
/// </summary>
public class SP2Mouse
{
public void MoveSP2()
{
}
public void TuneSP2()
{
}
}
/**//// <summary>
/// 客户希望的接口
/// </summary>
interface IMouse
{
void Init();
void Move();
void Tune();
void End();
}
/**//// <summary>
/// 对象适配器
/// </summary>
public class MouseAdapter : IMouse
{
SP2Mouse sp2Mouse; // 被适配对象
public MouseAdapter()
{
sp2Mouse = new SP2Mouse();
}
public void Init()
{
}
public void Move()
{
sp2Mouse.MoveSP2();
// Do something else
}
public void Tune()
{
sp2Mouse.TuneSP2();
// Do something else
}
public void End()
{
}
}
}
相关文章推荐
- 设计模式学习笔记(七)之适配器模式(Adapter)
- 设计模式学习笔记(3)——适配器模式(Adapter Pattern)
- 设计模式学习笔记1 - Adapter(适配器模式)
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 设计模式学习笔记——适配器模式(Adapter Patten)
- 设计模式学习笔记——适配器(Adapter)模式
- 设计模式》学习笔记--适配器Adapter
- 设计模式学习笔记--适配器(Adapter)模式
- 阿Sam的设计模式学习笔记---- Adapter模式
- 设计模式--学习笔记--适配器模式Adapter--基础篇
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 设计模式学习笔记-Adapter模式
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- Adapter模式——设计模式学习笔记
- 【设计模式学习笔记七】【结构型模式】【适配器模式(Adapter)】
- 设计模式学习笔记——适配器(Adapter)模式
- 设计模式学习笔记---适配器模式adapter(Java版)
- 【设计模式学习笔记】Adapter