Edited at

ちょっとずつ読むドメイン駆動設計 第四部 戦略的設計 第一四章 モデルの整合性を維持する

More than 1 year has passed since last update.


料金オブジェクトの例

書籍の料金オブジェクトの例はとてもわかりやすいですね。

2つのチームで同じ料金(Charge)を扱っていたが、先にできていた片方のチームの料金を別のチームが使うことをした結果、本当は「顧客料金」と「供給者料金」という別々の意味で料金を扱う必要があったのに、同じモデルを使ってしまっていたため、思いもよらないバグを生み出してしまったということでした。


モデルの整合性を維持する

ここでの教訓としては、


  • それぞれのモデルが適用される境界について、明示的に合意が必要だった

  • システム全体で統一されたモデルを持つことは苦労するが、得られるものは少ない

  • 極めて重要な箇所を緊密に統一された状態に保てればよく、それが重要。


境界はどこに

こうしたモデルの分岐は至る所に現れます。政治的な断片化、経営上の優先順位、チーム編成、同じチーム内でも・・・

要するに、ここで何を統一し、何を統一しないかをはっきり決める方法が必要であるということ、それが次の節のテーマとなっています。