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(); */ }