你的位置:首页 > 软件开发 > ASP.net > 《大话设计模式》学习笔记6:原型模式

《大话设计模式》学习笔记6:原型模式

发布时间:2015-05-11 16:00:23
说明:1..NET在System命名空间中提供了ICloneable接口,其中只有唯一的一个方法Clone(),只需要实现这个接口就可以完成原型模式。【即上图中Prototype用ICloneable代替】   2.MemberwiseClone():创建一个浅表副本,方法是创建 ...

  《大话设计模式》学习笔记6:原型模式

说明:1..NET在System命名空间中提供了ICloneable接口,其中只有唯一的一个方法Clone(),只需要实现这个接口就可以完成原型模式。【即上图中Prototype用ICloneable代替】

   2.MemberwiseClone():创建一个浅表副本,方法是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。 如果字段是值类型的,则对该字段执行逐位复制。 如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其复本引用同一对象。【对于内部的Class对象和数组,则Copy一份地址;而对于其它内置的int/get='_blank'>string/enum/struct/object类型,则Copy一份值(参考:C# 浅拷贝与深拷贝区别)】

 

一、简历复印示例:

  《大话设计模式》学习笔记6:原型模式

1.具体原型类:

  public class Resume:ICloneable  {    private string name;    private string timeArea;    private string company;    public Resume(string name)    {      this.name = name;    }    public void SetWorkExperience(string timeArea,string company)    {      this.timeArea = timeArea;      this.company = company;    }    public void Display()    {      Console.WriteLine("{0} 工作经历:{1} {2}", name,timeArea, company);    }    public object Clone()    {      return (object)this.MemberwiseClone();    }  }

原标题:《大话设计模式》学习笔记6:原型模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。