【问题标题】:Where to build complex object, business layer or controller?在哪里构建复杂的对象、业务层或控制器?
【发布时间】:2014-05-15 15:45:14
【问题描述】:

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

我可以像这样可视化视图模型:

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

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

【问题讨论】:

    标签: architecture


    【解决方案1】:

    如果您将查询与命令分开(命令-查询分离),您可以有一个特定的查询,通过一个请求返回您需要的内容 - 不多也不少。这个查询可以绕过业务层(因此避免了不必要的开销),直接与数据库对话。请参阅示例here

    【讨论】:

      猜你喜欢
      • 2019-11-29
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      相关资源
      最近更新 更多