原型模式:Prototype Pattern、创建型模式
原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
原型模式核心在于 拷贝原型对象
原型模式应用场景
1、类初始化消耗资源过多
2、构造函数比较复杂
3、循环中产生大量对象
原型模式的优缺点
优点:
1、Java自带的原型模式是基于内存二进制流的拷贝,比直接new一个对象性能高
2、使用原型模式的深度克隆保存对象的状态,简化创建对象的过程。
缺点:
1、需要在每一个类中配置一个clone方法
2、clone方法位于类的内部,当需要修改时违背开闭原则
3、关于何时采用深拷贝、浅拷贝需运用得当
原型模式源码应用
1、Spring中,scope = "prototype"
2、JSON.parseObject() 也是原型模式
3、ArrayList中的clone()方法,实现Cloneable接口,实现浅克隆