原型模式,简单说就是具有一个克隆方法,外部可以直接使用此方法得到相应对象的拷贝对象。
比如哆啦A梦的复制镜,一照,就把物品拷贝了一份(虽然是镜子复制是相反的,这里就忽略这个细节了)
C++中依靠拷贝构造函数来得到拷贝。
IPrototype* CPrototype::Clone() const { return new CPrototype(*this); }
C#中浅拷贝依靠MemberwiseClone来实现,深拷贝需要自己实现,依靠 [Serializable]、MemoryStream或者简单的new新对象,然后复制值。
public CPrototype Clone() { return this.MemberwiseClone() as CPrototype; }
原文:http://www.cnblogs.com/dev2007/p/3557007.html