Объектные экземпляры MVC или статические классы? - PullRequest
0 голосов
/ 09 января 2009

Я не совсем понимаю, когда создавать экземпляры объектов или классы Static Helper. Например, если я вызываю метод для обновления модели данных и отправки в базу данных, я создаю экземпляр DataContext. Каков срок действия этого Datacontext, и можно ли создавать новые экземпляры каждый раз, когда требуются новые обновления данных?

В моем контроллере я создал экземпляр DataCOntext и повторно использую этот экземпляр, например, при обратной отправке в контроллер.

1 Ответ

2 голосов
/ 09 января 2009

DataContext является довольно легким классом и предназначен для использования в качестве единицы работы. Обычно я передаю Factory, которая при необходимости создаст соответствующий DataContext. Обычно я оборачиваю это в блок using и преобразую результаты в List (или другой объект), чтобы запрос выполнялся в коде контроллера, а полученные объекты передавались в мое представление. Таким образом, DataContext может быть удален (из блока using) в методе контроллера.

Причина, по которой фабрика вводит фабрику в контроллер, двояка: она позволяет создавать DataContext по требованию и позволяет использовать фабрику, которая генерирует фиктивный DataContext для тестирования. Последнее позволяет мне избежать использования реальной базы данных в моих модульных тестах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...