创建型模式——Prototype
1. 意图
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
2. 适用性
• 当一个系统应该独立于它的产品创建、构成和表示时
• 当要实例化的类是在运行时刻指定时,例如,通过动态装载
• 为了避免创建一个与产品类层次平行的工厂类层次时
• 当一个类的实例只能有几个不同状态组合中的一种时
3. 参与者
• Prototype
— 声明一个克隆自身的接口。
• ConcretePrototype
— 实现一个克隆自身的操作。
• Client
— 让一个原型克隆自身从而创建一个新的对象。
4. 效果
1)运行时增加和删除产品
2)改变值以指定新的对象
3)改变结构以指定新对象
4)减少子类的构造
5)用类动态配置应用
5. 实现
1)使用一个原型管理器
2)实现clone操作
3)初始化clone对象
----------------------------------------------------------------------------摘自Dedign Pattern GOF
设计思路:
通过clone,避免重复实例化同一个状态的对象时使用