原型模型

一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高,



浅复制与深复制

string是一种有用值类型特定的特殊引用类型,MemberwiseClone()方法是这样,如果字段是指类型的,则对该字段执行逐位复制,如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其副本引用同一个对象。

由于在一些特定的场合,会经常设计深复制或浅复制,比如说,数据集对象DataSet,它就有Clone()方法和Copy()方法,Clone()方法用来复制DataSet的结构,但不复制DataSet的数据,实现了原型模式的浅复制。Copy()方法不但复制结构,也复制数据,其实就是实现了原型模式的深复制。

原文地址:https://www.cnblogs.com/sunbin/p/2082374.html