设计模式笔记7:原型模式
1.原型模式用处:
·用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
ps:当我们需要创建大量相同对象的时候,就可以用原型模式大批量复制对象。和现实生活中
的复印机相似,通过一个原型(模板)批量复制相同的对象;
2.深复制与潜复制的区别:
复制需要用到MemberwiseClone()方法;
1,浅复制:如果字段是值类型的,则对该字段进行逐位复制,如果字段是引用类型,则复制引用但不复制引用的对象;因此原始对象和其副本 引用同一对象;
2,深复制;
把引用对象的变量指向复制过来的新对象,而不是原有的被引用的对象;
ps:同是复制对象,深复制在复制引用对象时会为引用生成新的一个对象副本不影响原对象。而浅复制直接复制引用;
3.代码
Person
Program
深复制核心:对于引用对象调用其Clone方法创建一个新的副本。如果被复制对象内部含有引用成员也适用这个规则。