У меня есть словарь с именем "service_collection", в котором хранятся объекты разных классов, например, user и token с использованием фабрики. Я возвращаю объект после прохождения словаря, если я делаю это в if-else, сопоставляя тип объекта пользователь хочет, чтобы новый объект возвращался из этого объекта, но вместо этого я хочу вернуть новый объект через словарь, чтобы мое приложение не стало однопоточным.
Вот мой код
Некоторые методы вызывают этот метод фабрики get_service_type (), он находит объект по ключу и возвращает тот же объект из значения. (Просто хочу вернуть новый объект, чтобы число вызовов этого метода не использовало один и тот же объект )
from dac.user_dac import UserDAC
from dac.token_dac import TokenDAC
service_collection={"user":UserDAC(),"token":TokenDAC()}
class ServiceFactory:
@staticmethod
def get_service_type(servicetype):
try:
if servicetype in service_collection.keys():
return service_collection[servicetype]
raise AssertionError("Service Not Found")
except AssertionError as _e:
print(_e)
Вернуть тот же объект, который был инициализирован и сохранен в словаре. Вместо этого получить объект и вернуть как новый объект.