冪等性 (Idempotency) の設計 MOC
定義
冪等性 (Idempotency) の設計 MOCとは、同じ操作を一回または複数回適用した後の意味上の結果が同じになる性質である。設計上は、この意味を利用者が観測できる契約と、実装側が維持する条件へ分解する。
仕組み・規則・例
PUTやDELETEでは同一要求の再送後も対象状態を一定にし、非冪等な作成には処理済みキーを使う。注文処理を例にすると、注文ID、現在状態、要求操作を入力とし、許可された新状態または理由付きエラーを出力する。表題の概念が関わる条件を一つの境界で検査すれば、保存方式や通信方式を変更しても意味を保てる。
具体的なテストでは正常例だけでなく、空値、境界値、重複、順序逆転、途中失敗を扱う。並行実行がある場合は、版番号や一意キーを使って競合または二重処理を検出する。
適用範囲と限界
冪等性 (Idempotency) の設計 MOCは、名前を導入するだけでは効果がない。解決対象の変更理由が存在し、導入後に責務や依存が明確になる場合に採用する。新しい抽象、変換、永続状態には理解と運用のコストがあるため、小規模で変化しない処理では直接的な実装も比較する。性能、一貫性、拡張性の優先順位と撤回条件を記録し、実測に基づいて見直す。