码迷,mamicode.com
首页 > 其他好文 > 详细

五分钟一个设计模式之适配器模式

时间:2015-06-09 09:57:01      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:适配器模式   设计模式   adapter   adaptee   

五分钟一个设计模式,用最简单的方法来描述设计模式。查看更多设计模式,请点击五分钟一个设计模式系列
http://blog.csdn.net/daguanjia11/article/category/3259443

认识适配器模式

适配器模式的定义是:将一个类的接口转换成客户端希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式的主要功能是转换接口,目的是复用已有功能,而不是实现新接口,适用于功能实现了但接口不兼容的场合。适配器组合了原有对象,并且提供与一个客户端兼容的接口,实际的工作由原有接口完成。

示例代码

下面的示例代码中主要包含以下部分:

  1. Target:客户端需要的接口,与特定领域相关
  2. Adaptee:被适配对象
  3. Adapter:适配器

来上代码:

/// <summary>
/// 客户端需要的接口,与特定领域相关
/// </summary>
public interface Target
{
    /// <summary>
    /// 客户端请求处理的方法
    /// </summary>
    void Request();
}
/// <summary>
/// 被适配对象
/// </summary>
public class Adaptee
{
    /// <summary>
    /// 原有的已经实现了的方法,但接口发生了变化
    /// </summary>
    public void OldRequest()
    {
        Console.WriteLine("原来的方法执行了");
    }
}
/// <summary>
/// 适配器
/// </summary>
public class Adapter : Target
{
    /// <summary>
    /// 组合被适配的对象
    /// </summary>
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee)
    {
        this.adaptee = adaptee;
    }

    public void Request()
    {
        this.adaptee.OldRequest();
    }
}

下面看客户端如何使用

class Program
{
    static void Main(string[] args)
    {
        //创建被适配对象
        Adaptee adaptee = new Adaptee();
        //创建客户端需要调用的接口对象
        Target target = new Adapter(adaptee);
        //请求处理
        target.Request();
    }
}

程序执行结果:
原来的方法执行了

五分钟一个设计模式之适配器模式

标签:适配器模式   设计模式   adapter   adaptee   

原文地址:http://blog.csdn.net/daguanjia11/article/details/46421785

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!