web-dev-qa-db-ja.com

「元に戻す」機能に最適なデザインパターン

重複の可能性:
元に戻すエンジンのデザインパターン

一般に、アプリケーションで「元に戻す」機能をサポートするにはどうすればよいですか?私はWebアプリとデスクトップアプリの両方で作業しており、私が作成した「元に戻す」システムに本当に慣れていることはありません。

21
tenfour

Command のデザインパターンである必要があります。

これが 記事 コマンドパターンを使用したマルチレベルの元に戻す/やり直しについてです。

編集:これが second であり、Mementoパターンを使用したマルチレベルの取り消し/やり直しについてです。

したがって、おそらく両方で実行できます。

28
jethro

Mementoパターン を確認してください。

8
Dave McClelland

私はメメントよりもコマンドパターンを支持して投票します。 Mementoパターンは、元に戻す/やり直し機能のコマンドパターンよりもはるかにコストがかかります。

オブジェクトの状態をキャプチャして復元することは、互換性のあるオブジェクトに対してアクションを実行したり元に戻したりするのに比べて、非常にコストがかかります。