CompensableCommand インターフェースは、コマンド・インターフェースを拡張します。
補正可能なコマンドは、それと関連した別のコマンド (補正器) を持っているので、最初の作業はこの補正器によって元に戻すことがで きます。 例えば、航空券の予約に続いてホテルの予約をしようとするコマンドは、ホテルの予約ができなかった場合は、航空券の予約をキャンセルできるようにする補正コマンドを提供することができます。
CompensableCommand インターフェースは 1 つのメソッドを宣言します。
このメソッドは、オリジナル・コマンドの影響を元に戻すために使用できるコマンドを戻します。
補正可能コマンドを作成するには、CompensableCommand インターフェースを拡張するインターフェースを書き込みます。 このようなインターフェースは、通常、TargetableCommand インターフェースも拡張します。 ご使用のインターフェースの実装クラスに、getCompensatingCommand メソッドを実装する必要があります。 また、補正コマンドも実装する必要があります。