Лучшие практики для внедрения зависимостей через конструктор

Инверсия контроля является ценностно-ориентированным методом, который используется для модульной системы и отделения компонентов друг от друга.

Низкая связь всегда является преимуществом: она упрощает автоматическое тестирование компонентов и делает код лучше соответствующимпринцип единой ответственности.

Среди способов объявить зависимость от другого класса (сервисный локаторИнъекция свойства, вызывающая открытый метод / установка открытого свойства ...), инъекция конструктора кажется лучшим подходом.

Хотя это, вероятно, самый сложный (по крайней мере, из перечисленных трех) для реализации, он имеет значительные преимущества:

все зависимости действительно видны с помощью сигнатуры конструктора;циклические зависимости не возникают из-за четко определенного порядка создания экземпляров.

Каковы плюсы / минусы множества вариантов, предлагаемых C ++ для выполнения инъекции через конструктор?

Ответы на вопрос(1)

Ваш ответ на вопрос