星空网 > 软件开发 > ASP.net

《大话设计模式》学习笔记13:适配器模式

  《大话设计模式》学习笔记13:适配器模式

  《大话设计模式》学习笔记13:适配器模式

篮球翻译示例:

  《大话设计模式》学习笔记13:适配器模式

1.Target

  public abstract class Player  {    protected string name;    public Player(string name)    {      this.name = name;    }    public abstract void Attack();    public abstract void Defense();  }

2.具体球员类(以前锋为例):

  public 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);    }  }

3.Adaptee:

  public class ForeignCenter  {    public string Name { get; set; }//故意用属性而不是构造方法来区别其他球员类    public void 进攻()    {      Console.WriteLine("外籍中锋 {0} 进攻", Name);    }    public void 防守()    {      Console.WriteLine("外籍中锋 {0} 防守", Name);    }  }

4.Adapter:

  public class Translator:Player  {    private ForeignCenter foreignCenter = new ForeignCenter();    public Translator(string name):base(name)    {      foreignCenter.Name = name;    }    public override void Attack()    {      foreignCenter.进攻();    }    public override void Defense()    {      foreignCenter.防守();    }  }

5.客户端代码:

  class Program  {    static void Main(string[] args)    {      Player battier = new Forwards("巴蒂尔");      battier.Attack();      Player yaoMing = new Translator("姚明");      yaoMing.Defense();    }  }

  系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。

  在GoF的设计模式中,适配器模式有两种类型即类适配器模式和对象适配器模式,类适配器模式通过多重继承对一个借口与另一个接口进行匹配,但C#、VB.NET、JAVA等语言都不支持多重继承,所以上面所讲的是对象适配器。




原标题:《大话设计模式》学习笔记13:适配器模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流