Я не очень хорошо знаком с шаблоном 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), почему мы инкапсулируем Где (it => it.IsHandled)
, но не
OrderBy (it => it.Id
.
Есть идеи?