Я не очень хорошо знаком с шаблоном MVC. Не могли бы вы сказать мне, какой из следующих трех действий контроллера лучше? Спасибо:)
(1) Запрос в действии:
public ActionResult List()
{
var query = repository.Query().Where(it => it.IsHandled).OrderBy(it => it.Id);
// ...
}
(2) Запрос на обслуживание:
public ActionResult List()
{
var items = service.GetHandledItemsOrderById();
// ...
}
(3) Имейте порядок в действии:
public ActionResult List()
{
var items = service.GetHandledItems().OrderBy(it => it.Id);
// ...
}
Если мы выберем (1), то у нас слишком много бизнес-логики в контроллере?
Если мы выберем (2), может быть много методов обслуживания, таких как GetXXXByYYY()
.
Если мы выберем (3), почему мы инкапсулируем Where(it => it.IsHandled)
, но не
OrderBy(it => it.Id
.
Любые идеи?