Question about python factory method pattern

z
zuzi
楼主 (未名空间)

请教一个问题:
如果用factory method pattern去动态生成subclass,会需要一个从class name到
class的mapping。每次添加一个新的subclass都得在mapping里加一个记录。

有什么办法可以只写subclass,不用更改mapping,或者有什么机制可以自动注册
subclass?这样只用改一个地方,而不是两个地方。
C
Caravel

google metaclass
m
mjyu

用个 class variable 不就得了
z
zuzi

谢谢,明白了。
py3.6以后还有别的招,比如
__subclasses__, 和 __init_subclass__

【 在 Caravel (克拉维尔) 的大作中提到: 】
: google metaclass