原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建的新的对象。
模式动机:
使用原型模式来复制一个对象自身,从而克隆出多个与原型对象一模一样的对象。
模型结构:
- Protope:抽象原型类
- ConcretePrototype:具体原型类
- Client:客户类
原型模式可分为两种:分别为深克隆和浅克隆
java语言实现了clone方法,想要调用的类需要实现一个cloneable接口
原型模式优点:
- 当创建对象实例比较复杂的时候,使用原型模式可以简化对象创建的过程
- 简化了创建结构
- 可以使用深克隆的方式保存对象的状态
缺点:
- 需要为每一个类配备一个克隆方法
- 实现深克隆是需要编写较为复杂的编码