设计模式之原型模式

原型模式定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的对象。在这里,原型实例指定了要创建对象的种类。用这种方式创建的对象非常高效,无需知道对象创建的具体细节。

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() 等都是原型模式的具体应用。

posted @ 2020-12-10 13:11  _Gateway  阅读(52)  评论(0编辑  收藏  举报