Если я правильно понимаю, типичным механизмом Injection Dependency является инъекция либо через конструктор класса, либо через публичное свойство (член) класса.
Это предоставляет вложенную зависимость и нарушает принцип инкапсуляции OOP.
Правильно ли я определяю этот компромисс? Как вы справляетесь с этой проблемой?
Также см. мой ответ на мой вопрос ниже.