2012-05-09 221 views
0

我有一个报告模型和服务。这是非常简单的:DDD:用于报告的图层(查看模型/报告模型)

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

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

public class ReportField 
{ 
    string FieldName; 
    string FieldValue; 
} 

的输出中的样子:

ReportTitle

客户:富
金额:50.5
数量:100

我的问题是这属于哪一层?这是一个ViewModel吗?我将它输出为pdf,excel并将其绑定到网格。我的应用服务返回这个模型是否是一种好的做法?

+0

如果您的应用程序的主要目的是生成报告,则属于“业务”层。但是,如果这只是更大应用程序的一部分,它可能属于“UI”层。我通常不会遇到这个问题,因为我不使用图层;相反,我有一些可以相互交流的子系统。例如,我将有一个报告子系统与数据库子系统交谈。 – 2012-05-11 09:24:41

回答

0

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

+0

感谢您的回答。我编辑了我的问题。所以整个代码属于域/业务层,而不是在我的表示层?对? – LuckyStrike

+0

业务逻辑属于业务层,表示层中的表示代码。 – Steven