基本概念
原型模式是一种创建型设计模式,允许通过复制现有对象来创建新对象,而不是通过使用构造函数。
实现的模块有:
-
Prototype(原型): 定义一个抽象接口,规定了具体原型对象必须实现的方法。
-
ConcretePrototype(具体原型): 实现了原型接口的具体原型对象,通过复制自身来创建新对象。
-
Client(客户端): 使用原型对象的客户端,通过复制原型对象来创建新对象。
使用场景
- 当对象的创建过程较为复杂,或者创建对象的成本较高时。
- 当需要在运行时动态地创建新对象,并且对象的类型不确定时。
- 当需要避免使用复杂的构造函数时
特点
优点
- 可以减少对象创建时间。
- 支持动态创建对象。
- 可以减少内存消耗。
缺点
- 可能会破坏对象的封装性。
- 可能会导致调试困难。