设计模式三:原型模式
定义:
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
类图:
优点及适用场景:
使用原型模式的另一个好处是简化对象的创建,使得创建对象就像我们在编辑文档时的复制粘贴一样简单。因为以上优点,所以在需要重复地创建相似对象时可以考虑使用原型模式。比如需要在一个循环体内创建对象,假如对象创建过程比较复杂或者循环次数很多的话,使用原型模式不但可以简化创建过程,而且可以使系统的整体性能提高很多。
public class Prototype implements Cloneable {// 由于ArrayList不是基本类型,所以成员变量list,不会被拷贝,需要我们自己实现深拷贝private ArrayList list = new ArrayList();public Prototype clone() {Prototype prototype = null;try {prototype = (Prototype) super.clone();prototype.list = (ArrayList) this.list.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return prototype;}}