2017-01-10 16 views
1

私はDDDの原則を適用したプロジェクトを開発しています。データベースにテーブルを持つクラス(エージェンシー)と(エージェント)を含むクラス集約(アカウント)を作成しました。集計とDDD

私のエンティティ(アカウント、代理店、代理店)ごとにRepositoryクラスとServiceクラスを作成する必要があります。アカウントレポジトリを作成し、その中に3つのクラスの挿入と検索を行う必要があります。 ?

答えて

5

集約ルートのみがリポジトリを持つ必要がありますが、適切な集計を作成する必要があります。

ドメインについては何も知らず、私はAgencyAgentは、独自の集計根であることを感じるので、彼らはそれぞれ自分のリポジトリとAccountアイデンティティによってそれらを参照しますを持っているでしょう。

集約を設計することは、最も複雑なモデリング作業であり、書籍全体を対象に書くことができます。私は強くVaughn VernonによってEffective Aggregate Designを読むことをお勧めします。

+0

偉大な答えと素晴らしい本。私がDDDについて誰かに話すときはいつでも、私は決して同じ感情を強調することはできません。データモデリングのような集約的な設計、すなわち人々が変更したくない厳格なドメインモデルを生成する単一の前向きな努力によって多くの人々が失敗するのを見ました。ドメイン全体がユースケースを超えて有機的に成長し、人々は進行中の発見プロセスの一環としてそれが変更されることを理解することから始める必要があります。 –

+0

ありがとうございました。私はその本を読むつもりです。私は、これらの概念について明確にすることが非常に重要だと思います – Dariel

関連する問題