使用场景:当一个对象需要在多处调用并且需要在其基础上做额外操作的时候,那么我们正常的逻辑,是new很多个对象,那么此时构造函数执行时,如果构造执行时间长,极为影响效率。原型模式就可以很好的做到clone,将对象的引用复制给下一个。
而JAVA中在需要复制的类实现Cloneable接口,调用clone()方法。
而这里又分为浅复制跟深复制
浅复制:被复制的对象的属性值(成员变量)全部复制,而引用只能指向第一个被复制对象的引用。
深复制:其实也就是在浅复制的基础上,将引用的原型也clone到新的复制对象中。
总结自:《大话设计模式》原型模式