DDD集約と@DomainEvents

データ]

1概要

このチュートリアルでは、 @ DomainEvents アノテーションと AbstractAggregateRoot クラスを使用して、集約によって生成されたドメインイベントを簡単に公開して処理する方法について説明します。これは、ドメイン駆動設計の重要な戦術的デザインパターンの1つです。

  • 集約はビジネスコマンドを受け付けます。通常、ビジネスドメインに関連するイベント - Domain Event ** が生成されます。

DDDとアグリゲートの詳細については、Eric Evansのhttp://www.amazon.com/exec/obidos/ASIN/0321125215/domainlanguag-20[オリジナルブック]から始めるのが最善です。また、素晴らしいhttp://dddcommunity.org/uploads/a%3E%20written%20by%20Vaughn%20Vernon.%20Definitely%20worth%20reading.%3C/p%3E%0A%3Cp%3EIt%20can%20be%もあります。 20%%20to%20手動%20work%20with%20domain%20events。%20ありがとう、%20%3Cstrong%3ESpring%20フレームワーク%20許可%20us%20to%20簡単に%20publish%20および%20handle%20domain%20when%20working 20% 20集合%20ルート%3C/強%3E%20%20データ%20リポジトリ%3C/p%3E%0A%3Ch2%20id =[** 2。

Mavenの依存関係** ]

Spring DataはIngallsリリーストレインに @ DomainEvents を導入しました。あらゆる種類のリポジトリで利用できます。

この記事で提供されているコード・サンプルはSpring Data JPAを使用しています。 Springドメインのイベントを私たちのプロジェクトに統合する最も簡単な方法はhttps://search.maven.org/search?q=g:org.springframework.boot%20AND%20a:spring-boot-starter-data-を使うことですjpa[Spring Boot Data JPAスターター]:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>