Как вернуть новый объект после инициализации всех объектов и сохранения в словаре - PullRequest
0 голосов
/ 10 июля 2019

У меня есть словарь с именем "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)

Вернуть тот же объект, который был инициализирован и сохранен в словаре. Вместо этого получить объект и вернуть как новый объект.

...