purucat’s blog

寿司よ止まれっ!

"「実践ドメイン駆動設計」から学ぶDDDの実装入門" 9 章感想 (全14章)

"「実践ドメイン駆動設計」から学ぶDDDの実装入門"

「実践ドメイン駆動設計」から学ぶDDDの実装入門 (CodeZine Digital First)

「実践ドメイン駆動設計」から学ぶDDDの実装入門 (CodeZine Digital First)

のレビューをこまめに記載していく


「モジュール」〜高凝集で疎結合にまとめる〜

つまり 閉鎖性共通の原則(Common Closure Principle).

memo

  • IDDDの「モジュール」はJavaではパッケージに相当。依存関係や概念が同じものを一つのモジュールとしてまとめることで、モジュール間は疎結合となる
    • モジュールは別のモジュールに依存しないようにするべき。
      • 意味的にモジュールあいだに双方向の依存がある場合でも、実装は単一方向の依存とするべき
  • プロダクト名でパッケージをつけるよりは、ユビキタス言語である「境界づけられたコンテキスト」でパッケージを命名するほうが、プロダクト名の変更の影響を受けなくてすむ。

分からないこと

  • domainportというDDDの大きな枠組み配下にクラスは存在させないようだ。これはIDDDのルールなのか?
例:
jp.company.<context-A>.domain       // <- domain配下にクラスは存在させない。これはIDDDのルールなのか?
jp.company.<context-A>.domain.model
jp.company.<context-B>.domain
jp.company.<context-B>.domain.model.{value-obj,entity,domain-service,domain-event,repository,aggregates}