У меня была проблема, когда я хотел создать свою фабрику.
У меня есть каталог, который выглядит так:
classes/
file_1.py
file_2.py
....
factory.py
В file_1
и file_2
, у меня естьопределение некоторых классов примерно так:
class A():
...
class B():
...
В factory.py
я хочу создать класс, в котором я мог бы использовать функцию getattr
.
Я пытался сделать это:
from classes import file_1, file_2
class Factory(file_1, file_2):
"""doctring"""
def build(dic):
factory = Factory()
return getattr(dic['name'], factory)(**dic['params'])
Но file_1
и file_2
являются модулем, а не классом.
Так, какие еще способы я могу использовать, чтобы сделать свою фабрику?
И если есть несколькокакой самый лучший?
Спасибо.