0

少し前にロールバックについて質問しました。新しい関連する質問があり、それに対する回答がありますが、いくつかの意見を求めています。

だから私は持続性を無視したオブジェクトモデルを構築していて、今はロールバックについて考えています。nHibernate がそれをどのように管理するかを調べたところ、保存されていない変更をキャンセルできるようにするには、ドメイン オブジェクトに独自の実装が必要になることがわかりました。

そのため、問題を簡潔に説明している ComponentModel の IEditableObject を見てきました。説明に沿った Microsoft の例は、私が行ったこととほぼ同じです。実際のデータを含むプライベート構造体があり、データが変更されると、元のデータが保存され、新しいデータが作成されます。それと INotifyPropertyChanged を使用して、オブジェクトがリセットされたことを通知します。

誰かが似たようなことをしましたか?より良いパターンを提案できますか?

4

1 に答える 1

2

Rocky Lhotka のフレームワーク CSLA.NET ( http://www.lhotka.net/ ) に関するいくつかの記事を読むことをお勧めします。実際に使用することをお勧めするかどうかはわかりませんが、彼はロールバックやビジネス オブジェクト データの一貫性などについて非常に詳しく説明しています。

于 2011-02-18T15:32:36.450 に答える