我的應用程序包含一組模型類。例如人員,部門...持久化類的最佳實踐模型
用戶在UI中更改這些類的實例的值,並將這些類保存到我的「項目」文件中。下次用戶可以打開和編輯項目。
我的產品的下一個版本可能會大幅改變模型類別。它仍然需要打開現有的項目文件(我會知道如何處理缺失的數據)。
如何最好將我的模型類保存到項目文件中?
堅持類最簡單的方法是數據協定序列化。然而,它會在突破變化時失敗(我希望有這樣的變化)。如何處理這個?
- 使用一些其他持久性,例如,名稱 - 值集合或db更容忍
- 發運一個「項目轉換器」應用程序來遷移舊項目。這需要新舊模式一起出貨或操縱xml,這是最好的?
我有一個非常複雜的類層次結構。我也使用netDataContract serialziation,這使得xml更加醜陋。構建xslt有多容易?有沒有什麼工具?是不是更容易使用字典,這將永遠不會破壞任何東西? – 2010-06-08 20:45:27
難度取決於三角洲從一個版本到下一個版本的重要程度。 *有*工具,將有所幫助。例如[Altova](http://www.altova.com/)MapForce。如果你使用字典,那麼你的層次結構是否會變平?我不確定DataContract序列化程序,但我知道要使用XmlSerializer的字典,您必須提供自己的序列化和反序列化邏輯,所以它不會真正爲您簡化。 – Toby 2010-06-09 11:22:17