2016-11-25 3 views

答えて

1

私は両方のソリューションがプロジェクトで使用されているのを見ましたが、多くの場合、人々はではありません。はこの接尾辞を使用します。

このための興味深い解決策の1つは、集約クラスをパブリックおよび非集約クラスパッケージ(デフォルト)にすることです。どのクラスにどの可視性があり、どこに集約があるのか​​を簡単に判断できるIDEから直接参照できます。さらに、非公開クラスは元の意図であるパッケージ外では使用できません。

+0

私の集約ルートはおそらく私のエンティティフォルダの内側にあり、それはコードを見る集約ルートだとわかります。右? –

+0

公開/非公開クラスについての更新部分を確認してください –

1

私の理解は、集約ルートはエンティティですが、エンティティは集約ルートではないかもしれません。したがって、「集計ルート」はstereotypeのように表示されます。

2

私は、集約ルートとして機能するエンティティのみを持っています。それが正しいか?

これは正しいです。

集約は暗黙的です。これは、互いに独立して変更できる2つの互いに素な状態のセットを区切る境界です。同様に、集合体は、モデル内のビジネス状態のグラフであり、グラフの外側の状態にコンサルティングすることなく変更することができ、その逆も可能です。

集約ルートは明示的です。グラフ内の単一のエンティティが公開されます。つまり、グラフに対するすべての変更が通過する必要があるエントリポイントとして機能します。

擬似的に、それぞれが状態を変更するコマンドを実行できる2つの異なる公開エンティティを持つ集約を実装できます。 Evansは、複数のエントリーポイントを正しく取得することが難しいため、単一の集約ルートという概念を導入しました。

0

ドメイン駆動型デザインではありません。それは、ドメインの専門家に技術的専門用語、本質的な実装の詳細を公開しています

関連する問題