原型模型

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://www.cnblogs.com/gougou1981/p/12186202.html