设计模式之原型模式
原型模式(Prototype Pattern):Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.用原型实例去创建指定对象的种类,并且通过拷贝这些原型创建新的实例。
通用的类图如下:
通用的类图
这个原型模式的核心是clone方法,在Java中通过clone实现。clone方法的定义在Object对象上,我们重写这个方法,并且通过实现接口Cloneable来标志类是可以复制的。
通用代码
原型模式的优缺点:
1、性能好,在内存中拷贝,比直接new一个对象节省资源;
2、缺点,构造方法不会被执行,减少了约束。
使用场景:创建资源比较耗时的情况,一个对象有多个修改者的情况。
原型模式有几个需要注意的地方
1、clone对象,构造方法不会被执行
2、默认是拷贝对象的本身属性,不会拷贝对象里面的引用和数组,也就是所说的浅拷贝
3、如果要实现深拷贝,我们要在clone方法对引用和数组单独拷贝。
领取专属 10元无门槛券
私享最新 技术干货