文章出處

在今天,讀書有時是件“麻煩”事。它需要你付出時間,付出精力,還要付出一份心境。--僅以《大話設計模式》來祭奠那逝去的……

適配器模式:將一個類的接口轉換成客戶希望的另外一個接口,主要應用于希望復用一些現存類,但接口又與復用環境要求不一致的情況

適配器模式分為類適配器模式和對象適配器模式,但是由于主流語言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();
        }

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()