原型模式(Prototype Pattern)
定义:Specify the kinds of objects to create using a prototypical
instance,and create new objects by copying this
prototype.(用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。) 原型模式属于对象创建模式,GOF
给它的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
工厂模式对新产品的适应能力比较弱:创建新的产品时,就必须修改或者增加工厂角色。而
且为了创建产品对象要先额外的创建一个工厂对象。那通过原型模式来创建对象会是什么样
子呢?
结构:
- 客户角色:让一个原型克隆自己来得到一个新对象。
- 抽象原型角色:实现了自己的 clone 方法,扮演这种角色的类通常是抽象类,且它具有
许多具体的子类。 - 具体原型角色:被复制的对象,为抽象原型角色的具体子类。
原型模式实际上就是实现 Cloneable 接口,重写 clone&