14

私はアプリケーションの設計プロセスにあり、コマンドパターンを元に戻す/やり直しの目的で使用したいと思います。コマンドパターンについて調査しましたが、取得できないのは次のとおりです。コマンドにundoメソッドとredoメソッドがあるか、または2つの別々のコマンド(1つはundo用、もう1つはredo用)を作成して、からそれらを呼び出す必要があります。メインコマンド自体?

4

2 に答える 2

11

コマンドオブジェクト自体は、元に戻す/やり直し機能を実装する必要があります。

コマンドは通常、マルチレベルの取り消しを実装するために、コマンドマネージャーによって維持されているスタックからプッシュおよびポップされます。コマンドが実行されるとスタックにプッシュされ、コマンドが取り消されるとスタックからポップされます。

mementoパターンは、コマンドパターンと組み合わせて使用​​されます。これは、コマンドパターンの使用法に代わるものではありません。元に戻す操作に必要な状態を維持するために使用されます。

于 2010-02-06T21:49:03.593 に答える
2

このためのmementoパターンも検討することをお勧めします。これを使用すると、元に戻すのに最適です。

于 2010-02-06T23:08:14.880 に答える