- 將一個類別的介面轉換成客戶希望的另外一個介面。Adapter模式使得原本由於介面不相容而不能一起工作的那些類別可以一起工作。
- 在雙方都不太容易修改時,再使用轉接器模式轉接。
using System; namespace DPExample { abstract class Player { protected string name; public Player(string name) { this.name = name; } public abstract void Attack(); public abstract void Defense(); } class Forwards : Player { public Forwards (string name) : base(name) { } public override void Attack() { Console.WriteLine ("前鋒 {0} 進攻", name); } public override void Defense() { Console.WriteLine ("前鋒 {0} 防守", name); } } class Center : Player { public Center (string name) : base(name) { } public override void Attack() { Console.WriteLine ("中鋒 {0} 進攻", name); } public override void Defense() { Console.WriteLine ("中鋒 {0} 防守", name); } } class Guards : Player { public Guards (string name) : base(name) { } public override void Attack() { Console.WriteLine ("後衛 {0} 進攻", name); } public override void Defense() { Console.WriteLine ("後衛 {0} 防守", name); } } class ForeignCenter { private string name; public string Name { get { return name; } set { name = value; } } public void 進攻() { Console.WriteLine ("外籍中鋒 {0} 進攻", name); } public void 防守() { Console.WriteLine ("外籍中鋒 {0} 防守", name); } } class Translator : Player { private ForeignCenter foreign = new ForeignCenter(); public Translator (string name) : base(name) { foreign.Name = name; } public override void Attack() { foreign.進攻 (); } public override void Defense() { foreign.防守 (); } } }
留言
張貼留言