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