IEditableObject
(プリミティブ) プロパティを持つ単一のオブジェクトだけでなくValueType
、参照とコレクション プロパティを含む可能性のあるオブジェクト グラフ全体に対して機能するダーティ データ トラッキングをサポートする実装を探しています。そのような実装が利用できない場合、すぐに必要になるため、いくつかのガイドラインまたはヒントを提供していただけますか?
1 に答える
2
これにはいくつかの可能な解決策があります。
- これをサポートするコンポーネント スイートを見つけます (DevExpress スイートの上に構築されたフレームワークがこれを行うのを見たことがありますが、組み込まれているかどうかはわかりません)。
- コード ジェネレーターを見つけて、記述する必要があるボイラープレート コードを減らすのに役立ててください (NuGet は開始するのに適しているかもしれません)。
- PostSharp を使用してコードを挿入し、問題に対処する (または他の AOP ツール)
- すべてのデータを Transactional でラップし、VolatileTransactionManager を使用します (IDesign はこのソリューションのコードを Web サイトで公開していますが、パフォーマンスが心配です)。
- データ構造を深く複製可能にし、変更がコミットされるまで複製に取り組みます。このソリューションは、おそらく最も簡単に作成およびデバッグできます。Fasterflectのようなライブラリには、オブジェクト グラフを深く複製するための拡張機能が含まれています。または、単純にシリアライズ/デシリアライズしてコピーを生成することもできます。
選択肢、選択肢!
于 2013-06-09T23:56:19.070 に答える