Я должен создать интерфейс для каждой Модели?

Я просто начинаю с использованием Внедрения зависимости (DI) Ninject и работаю через мои контроллеры, надеющиеся отделять их из моих моделей немного больше.

В данный момент в моих контроллерах я создаю экземпляр некоторой данной модели, например:

var activitiesModel = new ActivitiesModel();

Для каждой из моих моделей, которых я инстанцировал таким образом, я должен извлечь интерфейс для них и затем использовать DI для связывания этих вещей?

Пример того, где я в настоящее время делаю это, в моем ActivitiesController:

IActivitiesModel _activitiesModel;

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

и это связано в моем global.asax:

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

Действительно ли это - корректный способ пойти о выполнении этого? Я должен создавать новый интерфейс для каждой из моих моделей, которая инстанцируют в контроллере?

Аплодисменты для любой справки и пошаговых перемещений в правильном направлении :-)

7
задан Jamie Dixon 28 May 2010 в 11:32
поделиться

1 ответ

Это зависит от того, что делают эти модели. Если они обладают методами доступа к данным и управления ими, их следует абстрагировать, чтобы ослабить связь между вашим контроллером и логикой доступа к данным и облегчить тестирование по отдельности. Если это просто объекты POCO и / или передачи данных, вам не нужно их абстрагировать.

5
ответ дан 7 December 2019 в 12:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: