原型模式定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的对象。在这里,原型实例指定了要创建对象的种类。用这种方式创建的对象非常高效,无需知道对象创建的具体细节。
1、定义父类clone方法,由于java存在Cloneable接口所以实现很简单。
public class Realizetype implements Cloneable { public Realizetype() { System.out.println("原型创建成功"); } @Override protected Object clone() throws CloneNotSupportedException { System.out.println("复制成功"); return super.clone(); } public static void main(String[] args) throws CloneNotSupportedException { Realizetype r1 = new Realizetype(); Realizetype r2 = (Realizetype) r1.clone(); System.out.println(r1 == r2); } }
在Spring中,原型模式应用的非常广泛,例如 scope=‘prototype‘、JSON.parseObject() 等都是原型模式的具体应用。
原文:https://www.cnblogs.com/lyy12332133/p/14113608.html