面白駆動人生

やっほー

【読書メモ】実践ドメイン駆動設計 ~第7章~ 「サービス」

前回 【読書メモ】実践ドメイン駆動設計 ~第6章~ 「値オブジェクト」

サービスとは

第7章で扱う「サービス」とは「ドメインサービス」のことを指す。

ドメインに特化したタスクを処理するステートレスな操作。集約や値オブジェクトの外に実装したほうがいいロジックなど。

  • アプリケーションサービス

ドメインモデルのクライアント。トランザクションやセキュリティなどの調整的な処理など。

いつドメインサービスを使うのか?

避けるべきこと

ただし、なんでもかんでもサービスとしてモデリングしてはいけない。
サービスを使いすぎると、ドメインモデル貧血症に陥るため。

  • ミニレイヤの実装

ドメインサービス層」というミニレイヤを作ることはアンチパターン
レイヤが肥大化する傾向にあるため。

  • アプリケーションサービス層での実装

アプリケーションサービスは、ドメイン外部の関心事を実装する場所。 ドメイン内部のビジネスロジックが、利用側(アプリケーションサービス)に流出させないため。

参考

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

以上