var test = new Service();
Client client = new Client(test);
В этом примере Service
зависимость сохраняется в переменной и вводится в потребитель Client
, с использованием инжектора конструктора .
Client client = new Client(new Service());
В этом примере зависимость Service
вводится непосредственно в конструктор Client
.
И какой термин используется для Службы в этом примере?
В этом случае Service
зависимость и Client
- это потребитель .Они оба компоненты .В случае, если Client
зависит от IService
, IService
- это служба или абстракция , тогда как Service
- это реализация или, в более общем случае: компонент .
A компонент - это класс приложения, который содержит логику приложения.Компоненты - это вокальная точка DI, поскольку вы строите графов объектов из компонентов .Противоположные или компоненты являются объектами, ориентированными на данные, такими как сущности, DTO, сообщения, модели представлений и т. Д. Они не содержат никакого поведения и обычно передаются через вызовы методов в инициализированных графах объектов .
Для полной терминологии см. Внедрение зависимостей в .NET .