proto 模式
代码参考引用自:https://github.com/faif/python-patterns/blob/master/prototype.py
代码
|
|
分析
该模式的目的为,在初始化某些对象的成本比较高时,改为通过克隆原型对象的方式创建新的对象。
具体实现方法为,在原型类中实现 clone() 方法,使用 copy.deepcopy() 方法克隆对象,并且复制原型对象的 __dict__ 到新建对象的 __dict__ 。使用 copy.deepcopy() 方法,对象中的子对象也会克隆。
PrototypeDispatcher 为可以用来克隆的原型对象的管理器,可以注册原型对象,删除注册原型对象。