创建型模式——Prototype

1. 意图

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

2. 适用性

• 当一个系统应该独立于它的产品创建、构成和表示时

• 当要实例化的类是在运行时刻指定时,例如,通过动态装载

• 为了避免创建一个与产品类层次平行的工厂类层次时

• 当一个类的实例只能有几个不同状态组合中的一种时

3. 参与者

• Prototype

— 声明一个克隆自身的接口。 

• ConcretePrototype

— 实现一个克隆自身的操作。 

• Client

— 让一个原型克隆自身从而创建一个新的对象。 

4. 效果

1)运行时增加和删除产品

2)改变值以指定新的对象

3)改变结构以指定新对象

4)减少子类的构造

5)用类动态配置应用

5. 实现

1)使用一个原型管理器

2)实现clone操作

3)初始化clone对象

----------------------------------------------------------------------------摘自Dedign Pattern GOF

设计思路:

通过clone,避免重复实例化同一个状态的对象时使用

posted @ 2020-08-10 15:12  kylinmac  阅读(65)  评论(0)    收藏  举报