原型模式 (Prototype Pattern) 是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类。
一、基础
1 意图
-
通过复制现有对象来创建新对象,而不是通过实例化类。
2 适用场景
-
当一个系统应该独立于它的产品创建、构成和表示时。
-
当要实例化的类是在运行时指定时,例如通过动态装载。
-
为了避免创建一个与产品类层次平行的工厂类层次时。
-
当一个类的实例只能有几个不同状态组合中的一种时,建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
3 结构
- 抽象原型(Prototype):声明克隆自身的抽象方法,所有具体原型类都必须实现这个方法。该抽象方法用于创建并返回一个与当前对象相同或相似的新对象。
- 具体原型(ConcretePrototype):实现抽象原型定义的克隆方法。在克隆方法中,通常会创建一个新的对象实例,并将当前对象的状态复制到新对象中。
- 客户端(Client):使用抽象原型类声明变量,通过调用原型对象的克隆方法来创建新对象。客户