1

おそらく非常に不適切な名前のタイトルですが、とにかく...

階層データ セットでコマンド パターンを使用しています。したがって、基本的には、実際にデータを変更せずに行われる変更を記述するオブジェクトを返すメソッドが必要です。たとえば、次のようになります。

オブジェクト 1 -> オブジェクト 2 -> オブジェクト 3

オブジェクト 1 を移動すると、オブジェクト 2 が変化し、それによってオブジェクト 3 が変化します。これらは相互に依存しているためです。そのため、階層コレクションを再帰的に調べて、コレクションを実際に変更せずにオブジェクト 1 を移動するために必要な変更を収集するメソッドが必要です。再帰の途中で Object1.Location のようなものを使用できると便利ですが、すでに変更が予定されている可能性があるため、確実に使用することはできません。

この種の「その場での」変更を行う必要があるアルゴリズムなどはたくさんあるように感じます。CS を専攻していない私は、この種のことをあまり学ばなかったので、「解決策」を見つけるためにどの検索語を検索すればよいかさえわかりません。私の問題の直接的な解決策はおそらくないことを認識しているため、解決策を引用符で囲みますが、脳をクランキングさせるためにこれが行われたいくつかの良いガイドライン/例を探しているだけです.

この種のことが行われている実際の例を誰かが提供できますか? 前もって感謝します。

4

1 に答える 1

0

解決策の一部は、訪問者のパターンかもしれません。訪問者と一緒にオブジェクト ツリーを調べて、やりたいことの結果を表す「複製された」ツリーを生成するようなことを行うことができます...

達成したいことの例を教えてください。

my2c

于 2011-01-21T16:27:08.757 に答える