我最近有一個關於String Object with fixed length C#的問題。 (請先閱讀這個問題)有沒有「數據轉換對象」原理/模式?
一些給出的答案指出,我的設計可能有缺陷。
由於最後一個問題是關於字符串具有固定長度這一個是關於底層原理。這個問題可能會有點長,所以請認真對待我。
要求:
我有在它與指定的固定長度值的文本文件平原。這個文本文件的標準是從90年代開始的。我必須創建這樣一個文件。
- 一個文件可能包含1-60行。
- 有10種不同類型的行。
- 一行具有10-40個值。
行被指定這樣的:
早在上世紀90年代有其創建這些文件放在這一個服務器,然後服務器讀取文件,並做了一些與應用它喜歡它寫入數據庫或通知某人某事出了錯等
此應用程序由於最近的法律變化而不再可用。
建議設計
新的應用程序,在它的位置在出口的形式不提供任何數據,但是它裏面的值的數據庫。我有責任寫一個轉換器。所以我必須獲取數據並編寫一個導出的文本文件。數據只發送,從未收到!
問題
由於一個DTO的唯一目的是轉移狀態,應該沒有問題(POCO vs DTO) 有什麼樣,其目的是「數據轉換對象」轉換傳輸的數據?有沒有適用的設計模式?
有一種模式可以執行此類數據轉換操作:[Extract Transform Load(ETL)](https://en.wikipedia.org/wiki/Extract,_transform,_load)。還有什麼,你會超越它。 – 2016-05-13 10:10:33
您仍然可以擁有具有行爲的DTO。我不會嘗試鎖定某種特定的方法或模式,只是做一些有用的事情然後再進行細化 –
看起來像一件大事,但問題確實很小,而且過於複雜。您在導出期間所需的全部內容都是在數據可以導出或不導出時驗證數據。沒有其他的。沒有額外的抽象。使用某些屬性自動驗證是好的,但「數據轉換對象」?它只是一種接收一種類型併產生另一種類型的方法,當然,將它放入另一個類中(通過將這種方法放在其中一種類型中來耦合類型是沒有意義的),但僅此而已。另一個問題是,只要有意義開始使用特殊類型來保存基本類型... – Sinatr