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