2011-02-18 60 views
0

我剛纔問了一個關於回滾的問題,我有一個新的相關問題,我有一個答案,但想要一些輸入。持久性和回滾,模型,C#

因此,我正在構建一個持久性的無知對象模型,現在我正在考慮回滾。我已經看過nHibernate如何管理它,並且這表明如果我想要取消未保存的更改,我需要在域對象上實現自己的實現。

所以我在ComponentModel中看到了IEditableObject,它簡潔地描述了這個問題。微軟的例子與描述一致,幾乎是我所做的,他們有一個包含實際數據的私有結構,當數據改變時,原始數據被保存並創建一個新數據。那和INotifyPropertyChanged通知該對象已重置。

有沒有人做過類似的事情?你能建議一個更好的模式?

回答

2

我建議你在他的框架CSLA.NET上閱讀Rocky Lhotka的一些東西:http://www.lhotka.net/。我不確定我會推薦實際使用它,但他非常全面地涵蓋了回滾和業務對象數據一致性等內容。

+0

你知道嗎,他寫了一本書,我有一個偷偷摸摸的懷疑,我買了沒讀過。當我回家時可能會感到驚喜:) – Ian 2011-02-18 15:39:51