-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Может быть такой кейс (есть в Example):
Нужен сервис синглетон с получением по параметрам, экземпляров может быть несколько.
На каждый параметр может быть создано не больше одного сервиса.
atOne не доступен - сервис создается только по первому требованию (зависим от параметра же), но может быть lazy (обычный) и weak.
Параметры должны быть Hashable, фабрика имеет отдельный тип (на примере как у ServiceSessionFactory).
Нужно предоставлять возможность удалять неиспользуемые сервисы чтобы они не накапливались. Или есть кейс - когда сервисы могут быть все не валидные и их нужно очистить по событию. Пример - очистка при смене статуса авторизации.
Как решение - по созданию возвращается менеджер провайдера - через него можно очищать неликвидные сервисы либо все.
Но в том же Example есть зависимость в фабрике от UserService - очистка при смене статуса. Возможно этот менеджер должен быть доступен и в самой фабрике чтобы реализовать такую возможность.
Необходимость в таком решении под вопросом - возможно это редкий корнер кейс и можно его решить другими способами, как к примеру в Example.
Требуется голосование за или против.