時間トラッキングアプリケーションの構築集約ルートを設計する最適な方法を決定しようとしています。DDD集計ルートの選択
基本的なコアエンティティは、クライアント、プロジェクト、従業員、ProjectAssignment、Department、タイムシートです。クライアントには1つ以上のプロジェクトがあり、プロジェクトには1人以上の従業員が割り当てられています(ProjectAssignment経由)。従業員は部門に属し、タイムシートはProject、Employeeともリンクしています。
クライアントは明らかな集約ルートのようです。
私は一種の行くための最善の方法がどうなるかわからないんだけど、他の集合体についてClient -> Project -> ProjectAssignment -> Employee
...
私が考えていた...
Department -> Employee -> Person
または従業員を持っており、部門は完全に別々の集約として。従業員は1つの部門と1つの部門にのみ存在することができます。しかし、部門は部門階層を作成するために自己参照しています。
集約ルート間でエンティティを共有する方法をどのように扱いますか?
非常に良い答え:あなたはヴォーンバーノンでIDDD帳に見つけることができます。このトピックに関する
もっと! DDDは、長時間のビジネス処理エンジン(数分/時間で実行される複雑なアルゴリズム)に適用されるでしょうか?これは非協力的なドメインの問題の例ですか? – Narayana