7

Po prostu zaczynam od Dependency Injection (DI) używając Ninject i pracuję przez moje kontrolery, próbując oddzielić je od moich modeli trochę więcej.Czy powinienem utworzyć interfejs dla każdego Modelu?

Obecnie wewnątrz moich kontrolerami tworzę wystąpienie jakiegoś danego modelu np

var activitiesModel = new ActivitiesModel(); 

dla każdego z moich modeli, które byłem instancji w ten sposób, należy wyodrębnić interfejs dla nich, a następnie użyj DI, aby związać te rzeczy razem?

Przykładem, gdzie jestem obecnie to robi to w moim ActivitiesController:

IActivitiesModel _activitiesModel; 

     public ActivitiesController(IActivitiesModel activitiesModel) 
     { 
      _activitiesModel = activitiesModel; 
     } 

a to jest ze sobą powiązane w moim global.asax:

Bind<IActivitiesModel>().To<ActivitiesModel>(); 

Czy to poprawny sposób zrobić to? Czy powinienem tworzyć nowy interfejs dla każdego z moich modeli, który jest tworzony wewnątrz kontrolera?

Cheers za wszelką pomoc i trąca w dobrym kierunku :-)

Odpowiedz

5

To zależy od tego, co te modele robią. Jeśli mają dostęp do danych i metod manipulacji, należy je wyodrębnić w celu osłabienia sprzężenia między kontrolerem a logiką dostępu do danych i ułatwić testowanie w separacji. Jeśli są po prostu obiektami POCO i/lub przesyłającymi dane, nie trzeba ich wyodrębniać.

Powiązane problemy