【发布时间】:2011-10-31 19:58:37
【问题描述】:
我对 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。
有什么想法吗?
【问题讨论】:
标签: asp.net-mvc model-view-controller controller business-logic