【问题标题】:DDD: Layer for reporting (View Model/Report Model)DDD:报告层(查看模型/报告模型)
【发布时间】:2012-05-09 10:17:17
【问题描述】:

我有一个模型和一个报告服务。很简单:

public class ReportService
{
    public Report Generate(){//}
}

public class Report
{
    string Title;   
    List<ReportField> Fields;
}

public class ReportField
{
    string FieldName;
    string FieldValue;  
}

输出看起来像:

报告标题

客户:Foo
数量:50.5
数量:100

我的问题是它属于哪一层?这是一个视图模型吗?我将其输出为 pdf、excel 并将其绑定到网格。我的应用程序服务返回此模型是一种好习惯吗?

【问题讨论】:

  • 如果您的应用程序的主要目的是生成报告,这属于“业务”层。但是,如果这只是更大应用程序的一部分,它可能属于“UI”层。我通常不会遇到这个问题,因为我不使用图层;相反,我有相互交谈的子系统。例如,我会让报告子系统与数据库子系统通信。

标签: c# asp.net domain-driven-design viewmodel layer


【解决方案1】:

我希望您的 Generate 方法包含业务逻辑,因此它属于您的业务层。但是,我希望 generate 方法返回一个 Report 对象,并且在您的表示层中,您可以将其从 Report 转换为 PDF。

【讨论】:

  • 感谢您的回答。我编辑了我的问题。所以整个代码属于域/业务层而不是我的表示层?对吗?
  • 业务逻辑属于业务层,表现层代码在表现层。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多