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

在今天,读书有时是件“麻烦”事。它需要你付出时间,付出精力,还要付出一份心境。--仅以《大话设计模式》来祭奠那逝去的……

适配器模式:将一个类的接口转换成客户希望的另外一个接口,主要应用于希望复用一些现存类,但接口又与复用环境要求不一致的情况

适配器模式分为类适配器模式和对象适配器模式,但是由于主流语言C#、Java等不支持多重继承,因此多使用对象适配器模式

1.适配器模式应用

  将源接口转换成目标接口,及客户想要的接口

  定义抽象适配类,及客户想要的接口

    /// <summary>
    /// 抽象适配类(客户所期待的接口)
    /// </summary>
    public abstract class Target
    {
        public abstract void Request();
    }

   定义现存类

    /// <summary>
    /// 现存业务类(需要适配的类)
    /// </summary>
    public class Adaptee
    {
        public void SpecificRequest()
        {
            Console.WriteLine("特殊请求");
        }
    }

   定义具体适配类,将源接口转换成目标接口

    /// <summary>
    /// 具体适配类(将源接口转换成目标接口)
    /// </summary>
    public class Adapter : Target
    {
        private Adaptee adaptee = new Adaptee();//内置一个私有的现存类

        /// <summary>
        /// 表面上调用的是客户要求的接口,但真正执行的是现存类的方法
        /// </summary>
        public override void Request()
        {
            adaptee.SpecificRequest();
        }
    }

   开启场景模拟

        static void Main(string[] args)
        {
            Target t = new Adapter();

            t.Request();
        }

 

posted @ 2015-11-01 08:12  荒古禁地  阅读(170)  评论(0编辑  收藏  举报