一、定义
1.意图
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
2.结构图
设计模式(四):创建型模式—Prototype(原型)
3.参与者
1)Prototype:声明一个克隆自身的接口。
2)ConcretePrototype:实现一个克隆自身的操作。
3)Client:让一个原型克隆自身从而创建一个新的对象。
二、问题
系统中存在大量的产品类,并且这些产品类之间不存在相互依赖,客户不知道如何创建一个产品类的实例,如果将实例化延迟到子类,那么就要为每个产品类都创建一个工厂类,这会引起系统中类的数目激增。
三、效果
引入Prototype后,最直观的效果就是大大减少了类的数目,因为不再需要为每个产品类配置一个工厂类,而原型模式存在的一个问题就是每一个Prototype的子类都要实现Clone接口,这一点在所考虑的类已经存在时尤其困难。

相关文章: