2011-01-21 21 views
1

非常に悪いという名前のタイトルを変更することなく、変更コマンドを取得し、しかし。ですから、基本的には、と記述されているオブジェクトを返すメソッドが必要です。これは実際にデータを変更せずに行われる変更です。ですから、例えば:...とにかくおそらくコレクション

オブジェクト1 - >オブジェクト2 - >私は、オブジェクト1を移動した場合、彼らはそれぞれに依存しているため、それはオブジェクト3の変化の原因となりますオブジェクト2の変化を引き起こします3

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

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

誰もこのタイプのことを実際に行っている例はありますか?前もって感謝します。

+0

これは何が必要なのか教えてください。 – Thomas

+0

プロジェクト管理アプリケーション。階層は、関係/依存関係を持つ一連のタスクです。それは、元に戻す/やり直し機能が必要なので、私は、依存関係の全体の束を元に戻すことができるように変更のリストが必要です。 – Ocelot20

答えて

0

また、ソリューションの一部がvisitor patternである可能性があります。あなたはあなたのオブジェクトツリーを訪れて、あなたがしたいことの結果になるものを表す「クローン」ツリーを生成するようなことをすることができます...

あなたが望むものの例を教えてください達成?

my2c

関連する問題