在我的程序(編輯和插補數據的控制檯應用程序)中,我賦予用戶以多種不同方式提供數據字典的能力:製表符分隔的文本文件, Excel工作簿或數據庫中。該字典由幾個(12-15)文件/表/表格組成。我試圖想出一個很好的方法來將來自各種源的數據加載到數據庫中。從.NET中的文件驗證數據
到目前爲止,我的解決方案一直使用存儲庫來隔離各種數據源,並讓這些存儲庫吐出映射到我的域模型上的DTO。我使用Builder模式來控制整個事件序列。
每個文件/片/表事件的基本上的序列是:
- 從存儲庫
- 驗證在DTO的
- 然後
- 如果所述信息獲取的DTO數據是好的,映射域實體
- 否則保留錯誤的運行列表。
我的問題是這樣的:我試圖找出其中最好的地方是驗證在DTO的信息?一種可能的解決方案是在DTO上增加一個接口,就像這樣
public interface IValidate
{
void Validate();
bool HasErrors { get; }
IEnumerable<string> GetErrorMessages();
}
這對DTO來說太重了嗎?驗證是否應該發生在別的地方?對不起,如果這有點主觀。
什麼是DTO? (鏈接是OK) – 2009-09-05 12:36:39
我認爲「數據傳輸對象」來自馬丁福勒的PoEAA;) – TheVillageIdiot 2009-09-05 12:43:41
是的,它在這裏:http://martinfowler.com/eaaCatalog/dataTransferObject.html – TheVillageIdiot 2009-09-05 12:44:22