Можно создать дубликат:
Dependency injection through constructors or property setters?Есть ли какие-либо преимущества вложения объектов в инжекцию конструктора?
Я диковинки, если Injection недвижимости имеет какие-либо преимущества по сравнению с Constructor Injection:
public class LoginController : Controller
{
[Inject]
public ICookiesManager CookiesManager {get; set;}
[Inject]
public ISecurityManager SecurityManager {get; set;}
public LoginController()
{
}
}
против
public class LoginController : Controller
{
private ICookiesManager _cookiesManager;
private ISecurityManager _securityManager;
public LoginController(ICookiesManager cookiesManager, ISecurityManager securityManager)
{
_securityManager = securityManager;
_cookiesManager = cookiesManager;
}
}
Да, вложение свойств позволяет заменить логику на уже созданные объекты , но это может быть недостатком Property Injection в то же время. Я ищу преимущества :) – Ruslan