Этот вопрос проверяет понимание направленности зависимостей и роли абстракций в архитектуре.
Короткий ответ
Singleton нарушает Dependency Inversion, потому что код напрямую зависит от конкретной реализации. Вместо зависимости от абстракции используется жёсткая ссылка на shared. Это связывает высокоуровневые модули с деталями реализации. В результате становится сложно менять реализацию и писать тесты. Зависимость становится глобальной и неявной.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.