Design模式之原型模式-【FAENWSI】

设计模式之原型模式


1. 定义

如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式(Prototype Design Pattern),简称原型模式。

2. 实现方式:深拷贝和浅拷贝

浅拷贝
  • 只会拷贝对象中的基本数据类型的数据(比如,int、long),以及引用对象(SearchWord)的内存地址,不会递归地拷贝引用对象本身

  • 如果要拷贝的对象是不可变对象,浅拷贝共享不可变对象是没问题的

深拷贝
  • 会递归拷贝引用对象的内容

  • 深拷贝得到的是一份完完全全独立的对象

  • 深拷贝比起浅拷贝来说,更加耗时,更加耗内存空间

    ….….

  • 对于可变对象来说,浅拷贝得到的对象和原始对象会共享部分数据,就有可能出现数据被修改的风险,也就变得复杂多了

特别声明:以上文章内容仅代表作者本人观点,不代表FAENWSI观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与FAENWSI联系。
licast
版权声明:本站原创文章,由 licast2022-06-10发表,共计991字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)