Допустимо ли вводить контейнер через конструктор? Или это должно быть более гранулированным?
public class Car{
private readonly IContainer _container;
public Car(IContainer container){
this._container = container;
}
public string DoSomething(){
var service1 =_container.GetInstance<IServiceINeed1>();
service1.DoStuff();
var service2 =_container.GetInstance<IServiceINeed2>();
service2.DoThings();
}
}
Vs.
public class Car{
private readonly IServiceINeed1 _service1;
private readonly IServiceINeed2 _service2;
public Car(IServiceINeed1 service1, IServiceINeed2 service2){
this._service1 = service1;
this._service2 = service2;
}
public string DoSomething(){
this._service1.DoStuff();
this._service2.DoThings();
}
}
Если он недействителен, какова причина этого?