面白駆動人生

やっほー

【読書メモ】実践ドメイン駆動設計 ~第3章~ 「コンテキストマップ」

復習

  • 問題空間: 解決すべきビジネス上の課題 (問題空間 = コアドメイン + サブドメイン)

  • 解決空間: ソフトウェアをどう実装して課題を解決するか (解決空間 = 境界づけられたコンテキスト)

目次

1. Why コンテキストマップ?

  • マップを書く主たる理由は、解決空間の全体像を見れるようにすること。

  • コンテキストマップは、現状を姿を捉えるためのもの。理想・期待する姿を書くわけではない。

  • シンプルかつアジャイルに進める。

  • コンテキストマップは組織の動きを示す。

2. コンテキストマップと組織パターン/結合パターン

組織パターン

パートナーシップ

成功/失敗の運命をともにする関係がある。インターフェース部分も共に検討して前に進める。

別々の道

協力体制なく、統合しない。

顧客/供給者の開発

上流・下流の関係。

順応者

上流・下流の関係だが、上流側が下流の要求に応えようとしない。

結合パターン

共有カーネル

明示的な境界を定め、共有部分を合意する。ソースコードレベルで共有。

公開ホストサービス (Open Host Service)

サブシステムへのアクセスのためのプロトコルを公開。RESTが主流。

公表された言語 (Published Language)

明確にドキュメント化された共有言語を利用。JSONXMLを利用。

腐敗防止層 (Anti-Corruption Layer)

パートナーシップ、顧客/供給者といった関係を築けなかった際に、上流システムの機能を、独自のドメインモデルで表現するためのレイヤ。

巨大な泥団子

大規模でモデルも混在している。他のコンテキストに影響をださないように注意。

参考

「実践ドメイン駆動設計」から学ぶDDDの実装入門 (WINGSプロジェクト 青木淳夫 著) 以上