2016-12-07 16 views
3

JavaやC#のコマンドパターンでアプリケーションデザインの "元に戻す"機能を実現する方法を理解できますか?どんな説明もありがたいです。コマンドパターンは元に戻すことができますか?

+0

@shmosel *多分もっと深い複製がこれには当てはまるが、私はこの質問が実際には得られていないと思う。 – BradleyDotNET

+0

@BradleyDotNETあなたはどうしていると思いますか? – shmosel

+0

@shmoselなぜコマンドパターンはUndoを可能にするのですか?Undo(ネストされた複製への答えはこれに触れますが、そのすべてがうまくいくわけではありません。 – BradleyDotNET

答えて

2

元に戻す機能を使用するには、最後のn個のユーザー操作を保存する必要があります。通常、ユーザーアクションは単に関数呼び出しとなります。したがって、関数を呼び出すのは非常に難しいです。元に戻すことができる方法でそれを保存することはさらに困難です。

オブジェクトにユーザーアクションを抽象化することで、簡単にデータ構造(通常はStack)に、これらのオブジェクトのセットを置くことができ、あなたがオブジェクトの上Undo方法を置けばあなただけの構造を通過し、Undoを呼び出しますユーザーがアンドゥ操作を要求すると、メソッドが呼び出されます。

コマンドはすでに操作(ユーザーまたはその他)をカプセル化するように設定されているので、元に戻す機能を構築するための優れた出発点です。

+0

ニース!ありがとう! :D – miiworld2

関連する問題