コントラクトに関するトレードオフ
ハードパーツとしてのコントラクトの定義は以下である。
アーキテクチャの部品が情報や依存関係を伝えるために使用するフォーマット。
コントラクトとして例えば以下の様なものがあり、トレードオフがある。
- 堅い
- 例
- gRPC
- メリット
- 型
- バージョニング
- 検証が用意
- ドキュメント
- デメリット
- 密結合
- 例
- 緩い
- 例
- JSON
- メリット
- 疎結合
- 進化しやすさ
- デメリット
- 型がない
- コンシューマ駆動契約等の適応度関数が必要
- 例
帯域幅は無限だと思うな。