在哪里构建复杂的对象,业务层或控制器?

时间:2014-05-09 22:36:56

标签: architecture

假设我们有一个网页应该有1个帖子集(标题,日期)和帖子列表(标题,正文)。

我可以想象一个视图模型,如:

public class PostCollectionViewModel
{
  public PostCollectionHeader PostCollectionHeader {get;set;}
  public List<Post> Posts {get;set;}
}

我应该调用两个业务层方法来填充这两个视图模型属性,还是应该有一个应该返回带帖子的帖子集合的业务层方法?

1 个答案:

答案 0 :(得分:0)

如果将查询与命令(命令查询分离)分开,则可以使用特定查询通过一个请求返回所需内容 - 仅此而已。此查询可以绕过业务层(从而避免不必要的开销),并直接与数据库通信。请参见示例here