草庐IT

WeeklyLog

全部标签

设计模式之:原型模式PrototypePattern的实现(浅克隆和深克隆)(浅表副本和深表副本)

原型模式不是通过new生成新的对象,而使通过复制进行生成;原型模式适用于相同类型的多个对象的生成;原型模式分为两种:浅克隆/浅表副本(ShallowClone)和深克隆/深表副本(DeepClone);浅克隆:ShallowClone,只复制值类型变量,不复制引用类型变量的克隆;(只复制引用类型变量的地址,其实还是指向同一个引用类型)深克隆:DeepClone,同时复制值类型和引用类型变量的克隆;浅克隆用到的技术:Object.MemberwiseClone方法(命名空间:System),使用该方法可以进行浅克隆;深克隆用到的技术:BinaryFormatter类(命名空间:System.Ru

设计模式之:原型模式PrototypePattern的实现(浅克隆和深克隆)(浅表副本和深表副本)

原型模式不是通过new生成新的对象,而使通过复制进行生成;原型模式适用于相同类型的多个对象的生成;原型模式分为两种:浅克隆/浅表副本(ShallowClone)和深克隆/深表副本(DeepClone);浅克隆:ShallowClone,只复制值类型变量,不复制引用类型变量的克隆;(只复制引用类型变量的地址,其实还是指向同一个引用类型)深克隆:DeepClone,同时复制值类型和引用类型变量的克隆;浅克隆用到的技术:Object.MemberwiseClone方法(命名空间:System),使用该方法可以进行浅克隆;深克隆用到的技术:BinaryFormatter类(命名空间:System.Ru