2012-05-09 220 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