コード例 #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("========轉接者模式測試========");
            Console.WriteLine("我們需要火球才能把樹上的蜂窩燒毀!糟糕的是我們隊伍中沒有法師");
            Console.WriteLine("幸好我們隊伍有弓箭手跟馬蓋先工具包,讓弓箭手也能發射火球");
            Wizard wizard = new Adapter(new NormalArcher());

            wizard.fireBall();

            //與06 裝飾者模式 Decorator的結合

            /*
             *  以下代碼可以看出,讓裝飾模式與轉接器模式在客戶端的呼叫是一樣的
             *  差別在裝飾者模式不會改變被裝飾的介面,轉接器模式則是這轉接的介面換成目標介面
             */

            /* ****
             * 冒險者使用不同稱號來強化 - 測試(裝飾模式)
             * public class TitleSet
             * {
             *      public void Test()
             *      {
             *          Console.Write("---取得強壯稱號的Jacky---');
             *          TitleStrong sJacky = new TitleStrong(new Lancer("Jacky"));
             *          sJacky.attack();
             * }
             *
             * 弓箭手轉接成法師丟火球 - 測試 (轉接器模式)
             *
             *  public class AdapterClient
             *  {
             *      public void test()
             *      {
             *          Wizard = new Adapter(new NormalArcher());
             *          wizard.fireBall();
             */
        }