2010-09-27 202 views
1

因此,我們已經得到了需要保存並從磁盤加載其狀態的應用程序。保存的文件格式

我們已經得到了國家在當前的對象,該對象被直接序列化到XML和XML序列化對象。我已經和這個項目的其他開發人員一起完成了這個任務,他似乎認爲這是一個完美的方法。他斷言,使光盤上的模型與內存中的表示完全相同是理想的。

我覺得這個數據被保存到磁盤的方式需要從它在內存中的表示分離,使我們可以沒有它的保存格式的重大更改修改一個或另一個。更不用說XML序列化器需要一切需要讀/寫的地方,可能有很多情況需要只讀。

的問題是有關於最佳實踐在內存中的數據序列化到XML。 從XML中直接提取對象是更好的辦法,還是通過使用其唯一目的是饋入XML序列化器的對象來分離進程?

+0

在XML和支持一個版本號舊版本閱讀? – kenny 2010-09-27 18:05:56

+1

問題到底是什麼? – villecoder 2010-09-27 18:17:57

回答

0

這聽起來像你指出他的解決方案的底片,但並沒有真正提供一個很好的選擇。

因此,要麼:

a)使用他的解決方案,直到它不工作了

b)用你自己的解決方案,解決了你所指出的問題上來了。

有一件值得探討的事情:你可以看一下像db4o這樣的對象數據庫,它可能能夠處理對象的保存/加載和對類的大部分修改,但可能並不理想對於您希望能夠直接編輯磁盤狀態的情況(您可以這樣做,但是您必須跳過幾個循環)。

+1

我確實有一個解決方案,使用第二個對象,其唯一目的是表示要序列化的數據。這樣,主對象可以更靈活地存儲數據。 – 2010-09-27 23:19:45

+0

哦,我明白了,你想使用某種中間對象。這可以工作。 – 2010-09-28 00:31:54