Начиная с asp.net MVC - PullRequest
       2

Начиная с asp.net MVC

2 голосов
/ 14 июня 2010

На самом деле я делаю домашнюю страницу, у которой есть только действие с именем Index (), которое возвращает представление Index.ascx.

Эта страница индекса будет состоять из последних новостей и последних зарегистрированных пользователей, я думаю, что они создаютдва частичных представления - лучшая идея (таким образом, я мог бы использовать это в других представлениях).

для другой стороны у меня есть класс доступа к данным, который вызывает базу данных для получения материала (получить последние новости, получить последних пользователей,и т.д ...)

Мой вопрос прост, должен ли я вызвать класс доступа к данным в действии Index () моего HomeController и добавить в ViewData полученные данные?

Я думаю, что это действие index () не должно отвечать за передачу этих данных частичным представлениям, верно?

Не могли бы вы мне помочь?

я слишком много балуюсь?; -)

Заранее спасибо.

С наилучшими пожеланиями.

Хосе

Ответы [ 3 ]

4 голосов
/ 14 июня 2010

Вы должны использовать шаблон Repository для инкапсуляции доступа к данным и отделения его от логики / интерфейса пользователя. Контроллер метода Index () должен получить доступ к хранилищу и получать оттуда данные.

Отличный учебник для изучения ASP.NET MVC: NerdDinner . Там также объясняется использование класса репозитория.

[Обновить] Еще лучшим учебником является официальное Пошаговое руководство для ASP.NET MVC Music Store .

Используя репозиторий, вы получаете доступ к другим преимуществам, таким как возможность внедрения зависимостей, которая является большим улучшением для тестируемости ...

3 голосов
/ 14 июня 2010

Я предлагаю вам использовать Методы действий для управления только для того, чтобы решать, отображать ли содержимое , а не то, что оно отображает.

Я бы сказал, инкапсулировать логику доступа к данным в одинбольше слоя, так что он слабо связан с действиями контроллера.

Это приводит к «Тонким действиям и более грубым моделям» .Возможно, вы захотите использовать шаблон репозитория, как описано в блоге Scotts или следуйте Домен-управляемый дизайн , который иллюстрирует ответственность каждого из слоев.

Надеюсь, это поможет.

Спасибо, Виджай

1 голос
/ 14 июня 2010

Вы уверены, что идеально разделить новости и список пользователей на частичные представления, так как вы можете использовать их в других частях.

Также идеально разделить функции данных для них на отдельный класс, часто называемый классом хранилища. Поэтому у вас может быть класс репозитория News, в котором будет функция GetNews. Затем вы можете вызвать эту функцию из своего списка новостей. В любом другом месте, где вы хотите получить эти списки, вы можете просто вызвать эту функцию, и вы больше не будете писать тот же самый код извлечения данных.

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