命令模式
WYSIWYG editor toolbox
cpp
struct Command {
Command() = default;
virtual ~Command() = default;
// we may record prev state (or delta) to do "undo"
virtual void execute() = 0;
// use stored data to recover previous state
virtual void undo() = 0;
};
DB Transaction
還需要紀錄,已作為 recover 時可以使用。