Skip to content

ServiceParamsProvider - поддержать синглетоны по параметрам #4

@ProVir

Description

@ProVir

Может быть такой кейс (есть в Example):
Нужен сервис синглетон с получением по параметрам, экземпляров может быть несколько.
На каждый параметр может быть создано не больше одного сервиса.
atOne не доступен - сервис создается только по первому требованию (зависим от параметра же), но может быть lazy (обычный) и weak.

Параметры должны быть Hashable, фабрика имеет отдельный тип (на примере как у ServiceSessionFactory).

Нужно предоставлять возможность удалять неиспользуемые сервисы чтобы они не накапливались. Или есть кейс - когда сервисы могут быть все не валидные и их нужно очистить по событию. Пример - очистка при смене статуса авторизации.

Как решение - по созданию возвращается менеджер провайдера - через него можно очищать неликвидные сервисы либо все.
Но в том же Example есть зависимость в фабрике от UserService - очистка при смене статуса. Возможно этот менеджер должен быть доступен и в самой фабрике чтобы реализовать такую возможность.

Необходимость в таком решении под вопросом - возможно это редкий корнер кейс и можно его решить другими способами, как к примеру в Example.

Требуется голосование за или против.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestoptionalMay not be solved

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions