1.对象克隆(复制.原型模型)
- 使用场景:
- 不希望自己持有引用类型的对象被修改(我们常见的Object a=new Object();Object b;b=a;这种形式的代码复制的是引用,即对象在内存中的地址,a和b对象仍然指向了同一个对象)
- 保证引用类型的参数不被其他方法修改
- 可以使用克隆后的值作为参数传递
- 一个对象需要在一个高代价的数据库操作之后被创建,我们则可以缓存该对象,在下次调用的时候直接返回它的克隆,在需要的时候来更新数据库,以减少对数据库的调用
- 使用优点:
- 创建重复的对象,同时又能保证性能(性能提高)
- 逃避构造函数的约束;
- 克隆方法:
- 浅拷贝:实现实现接口ICloneable接口,在Clone()方法调用MemberwiseClone()方法。
- 深拷贝:将对象进行序列化为数据后,再次将数据反序列化为新的对象
- 案例:
- Nop.Core.Domain.Common.Address
- Nop.Web.Models.Polls.PollModel
- Nop.Web.Models.News.HomepageNewsItemsModel
- 相关文章:
- https://blog.csdn.net/aHardDreamer/article/details/89601832
- https://www.cnblogs.com/Qian123/p/5710533.html