Конструкторный DI делает зависимости обязательными; property injection — скорее опциональные сценарии.
Разбор
- В ASP.NET Core стандарт — constructor.
- Слишком много зависимостей — запах SRP.
- Property injection хуже читается.
- Избегайте service locator.
Итог
Конструкторный DI — основной стиль в ASP.NET Core.