1

IEditableObject(プリミティブ) プロパティを持つ単一のオブジェクトだけでなくValueType、参照とコレクション プロパティを含む可能性のあるオブジェクト グラフ全体に対して機能するダーティ データ トラッキングをサポートする実装を探しています。そのような実装が利用できない場合、すぐに必要になるため、いくつかのガイドラインまたはヒントを提供していただけますか?

4

1 に答える 1

2

これにはいくつかの可能な解決策があります。

  • これをサポートするコンポーネント スイートを見つけます (DevExpress スイートの上に構築されたフレームワークがこれを行うのを見たことがありますが、組み込まれているかどうかはわかりません)。
  • コード ジェネレーターを見つけて、記述する必要があるボイラープレート コードを減らすのに役立ててください (NuGet は開始するのに適しているかもしれません)。
  • PostSharp を使用してコードを挿入し、問題に対処する (または他の AOP ツール)
  • すべてのデータを Transactional でラップし、VolatileTransactionManager を使用します (IDesign はこのソリューションのコードを Web サイトで公開していますが、パフォーマンスが心配です)。
  • データ構造を深く複製可能にし、変更がコミットされるまで複製に取り組みます。このソリューションは、おそらく最も簡単に作成およびデバッグできます。Fasterflectのようなライブラリには、オブジェクト グラフを深く複製するための拡張機能が含まれています。または、単純にシリアライズ/デシリアライズしてコピーを生成することもできます。

選択肢、選択肢!

于 2013-06-09T23:56:19.070 に答える