1. ホーム
  2. architecture

[解決済み】ドメイン駆動型設計。ドメインサービス、アプリケーションサービス

2022-03-25 04:40:48

質問

ドメインサービスとアプリケーションサービスの違いについて、どなたか例を挙げて説明していただけませんか?また、あるサービスがドメインサービスの場合、このサービスの実際の実装はドメインアセンブリ内に置くのでしょうか、もしそうなら、リポジトリもそのドメインサービスに注入するのでしょうか?いくつかの情報は本当に便利です。

どのように解決するのですか?

サービスには3つの種類があります。 ドメインサービス , アプリケーションサービス および インフラストラクチャーサービス .

  • ドメインサービス : カプセル化 ビジネスロジック 自然界に存在しない ドメインオブジェクトに収まるものであり NOT 典型的なCRUD操作です。 リポジトリ .
  • アプリケーションサービス : で使用される。 外部コンシューマと対話するために システムを考えてみましょう。 ウェブサービス ). もし消費者がCRUD操作にアクセスする必要があれば、ここで公開されるでしょう。
  • インフラサービス : を使用します。 技術的な懸念事項を抽象化する(例 MSMQ、メールプロバイダなど)を抽象化します。

ドメインオブジェクトと一緒にドメインサービスを維持することは賢明です。 そして、リポジトリはサービスに注入することができます。

アプリケーション・サービスは、通常、ドメイン・サービス リポジトリで外部からのリクエストに対応します。

お役に立てれば幸いです。