本文介绍了GoF中的原型模式。
模式推演
游戏创建各类怪兽:
有些怪兽的模型文件可能很复杂,在初始化时很慢,但我们需要创建多个该类型怪兽时,可能从已经完成初始化创建的怪兽处直接复制一个(clone),再进行微调。
定义
原型模式(Prototype Pattern):当创建给定类的实例的过程很昂贵或者很复杂时,可以通过复制(clone)现有的实例来创建新的实例。
用途:
- 在一个复杂的类层次中,当系统必须从其中的许多类型创建新对象时,可以考虑原型。
优点:
- 向客户隐藏制造新实例的复杂性;
- 提供让客户能够产生未知类型对象的选项;
- 在某些环境下,复制对象比创建新对象更有效。
缺点:
- 对象的复制有时相当复杂。