设计模式-原型模式

137 阅读1分钟

原型模式定义

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

原型模式的实现方式:浅拷贝和深拷贝

浅拷贝和深拷贝的区别在于,浅拷贝只会复制对象的索引,不会复制对象,而深拷贝不仅会复制对象的索引还会复制数据本身

在Java语言中,Object类中的clone()方法执行的就是我们说的浅拷贝,它只会拷贝对象中的基本数据类型,以及引用对象的内存地址,不会递归的拷贝引用对象本身

实现深拷贝方法

  • 第一种方式:递归拷贝对象
  • 第二种方式:先将对象序列化,然后再反序列化成新对象。