您的位置:首页 > 其它

设计模式学习笔记六——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()
{
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: