Как стать автором
Обновить

Комментарии 4

Первый вариант реализации синглтота и так ленив и имеет потокобезопасную инициализацию.
Спасибо, да так и есть, второй вариант бесполезен получается.
Можно пойти ещё дальше. EditProfileFactory добавить поле типа ServiceFactory. ServiceFactory будет содержать метод getService() -> CurrentUserProviding. Внедрять ServiceFactory через конструктор EditProfileFactory. Таким образом можно будет тестировать EditProfileFactory. Минус — придется писать код для каждого сервиса. (Но мы ведь итак его пишем, когда регистрируем сервис).
Все верно, грубо говоря мы всегда отодвигаем код который мы не тестируем за следующую абстракцию. Тестировать или не тестировать фабрики это личный выбор ;)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий