Command Pattern

使用了命令模式，设计了撤销/恢复操作。
Fix some problem