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

设计模式---适配器模式

时间:2014-11-23 23:05:52      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   使用   sp   on   2014   

前言

上一次谈设计模式,我谈到了装饰者模式,今天我要谈与之很相似的另一个结构型的设计模式:适配器模式。最后还会结合外观模式进行适当点评

UML类图

bubuko.com,布布扣

角色构成

  • Target,面向用户使用的接口定义
  • Adapter,适配器,将被适配接口转换为用户需要的Target接口
  • Adaptee,需要被适配的现有接口

代码

待适配对象

namespace Adapter
{
    public class Adaptee
    {
        public void AdapteeOperation()
        {
            Console.WriteLine("Adaptee Operation");
        }
    }
}

用户接口

namespace Adapter
{
    public interface Target
    {
        void UserOperation();
    }
}

适配器

namespace Adapter
{
    public class Adapter : Target
    {
        private Adaptee _adaptee = new Adaptee();

        public void UserOperation()
        {
            this._adaptee.AdapteeOperation();
        }
    }
}

用户调用代码

namespace Adapter
{
    class Program
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();

            target.UserOperation();

            Console.ReadKey();
        }
    }
}

使用场景

可参见ADO.NET中的抽象DataAdapter以及具体的SqlDataAdapter、OracleDataAdapter的设计

结构型设计模式大比拼

  共同点 不同点
装饰者模式 对象包装 不改变接口,加入新的职责
适配器模式   不改变职责,改变接口
外观模式   简化高层接口,统一调用

 

设计模式---适配器模式

标签:style   blog   http   io   ar   使用   sp   on   2014   

原文地址:http://www.cnblogs.com/fecktty2013/p/designpatterns-adapter.html

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