原型模式
使用场景:
- 类初始化需要很多资源,包括数据,硬件资源等,通过原型拷贝可以避免这些消耗。
- 通过new产生一个对象需要非常繁琐的数据准备或访问权限等
- 保护性拷贝
- clone函数构造实例并不一定比new快,只有在new较为耗时或者成本较高时使用clone能提升效率
使用:实现Cloneable接口
注意:类内部的对象也要实现进行clone以实现深拷贝
优点:原型模式是内存中二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环内产生大量对象时
缺点:直接在内存中拷贝,构造函数是不会执行的,减少了约束。