我已經實現了精簡框架的流行層(包括類似BinaryFormatter
的串化器)。我希望能夠序列化由lambdas和迭代器等適當的東西引起的編譯器生成的類,以便如果(例如)lambda及其封閉變量(即display class實例)被添加到可序列化對象上的事件,並且所有封閉變量都是可序列化的,那麼結果對象圖形仍然是完全可序列化的。Lambdas,封閉變量,顯示類,可序列化和流行層
這是可以接受的,如果這些類的實例只能由完全相同的構建反序列化,他們從序列化的二進制文件的 - 患病層主要是提供耐久性應的應用程序意外終止(停電設備重啓是不同的可能性),並且序列化的數據流預期不會向前或向後兼容,或者甚至在相同源代碼的兩個編譯中兼容的情況下 - 所有結果都將被髮送到服務器無論如何,我們接下來會談到它,而我們不會在斷開連接的情況下進行更新。
在這個有限的上下文中,我的格式化程序將這些編譯器生成的類視爲可序列化是否合理?我看到的唯一選擇是手動實現編譯器支持的所有模式,無處不在,可串行化是一個值得關注的問題,其後果從過度冗長到幾乎無法讀取。
Prevalence只是一種通過內存對象圖提供事務屬性的技術,實現了檢查點和重做日誌的序列化。本質上,數據模型是對象圖,其語義是由實現這些對象的代碼的語義定義的。這是一個有意的設計決定,數據格式不是發佈或記錄的接口。 – 2011-01-19 22:01:20