原型模式

定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型 创建新的对象。原型模式的核心是一个clone方法。

优点:原型模式是在内存二进制流的拷贝,要比直接new一个对象性能要好很多,特别是要在一个循环体内产生大量的对象时,原型模式可以更好的体现其优点。

避免构造函数的约束,直接在内存中拷贝,构造函数不会被执行。

使用场景:

1.类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等。

2.通过new产生一个对象需要非常频繁的数据准备或访问权限,则可以使用原型模式

3.一个对象需要提供给其他对象访问,而且各个调用者都可能需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。

浅拷贝和深拷贝 参考 http://blog.csdn.net/liumeng123321/article/details/42712311


注意:要使用clone方法,类的成员变量上不要增加final关键字。

你可能感兴趣的:(原型模式)