Prototype
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。提供了一个通过已存在对象进行新对象创建的接口,在C++中使用拷贝构造函数。 Java中通过覆盖父类Object的clone方法实现,继承接口Cloneable,此接口无任何方法,只起一个标记作用, 具有这个标记的对象才有可能被拷贝。
优点: 1、 性能优良:内存二进制流的拷贝,比直接new一个对象性能好,特别是在一个循环体内产生大量的对象时。 2、 逃避了构造函数的约束:直接内存拷贝,构造函数不执行。 使用场景: 1、 资源优化场景:类初始化需要非常多的资源 2、 性能和安全要求的场景:new需要非常频繁的数据准备和访问权限 3、 一个对象对个修改者得场景:拷贝多个对象供使用者修改 注意:浅拷贝和深拷贝