나는 집계와 뿌리를 고민하고있다. 나는 사용자 요청의 약 60 %에서 작동하는 자연 집계 루트를 가지고있다. 나는. 이러한 요청은 당연히 집계 루트에 적용됩니다.도메인 기반 디자인 - 집계 루트
내 집계 내에 집계 루트의 멤버로만 존재할 수있는 다른 엔터티가 있습니다. 그러나 사용자는이 다른 엔터티 개체에 대해 알려줍니다. 개념적으로 사용자가이 집계되지 않은 루트 개체를 직접 조작하는 것이 의미가있을 수 있습니다.
그래서, 나는 몇 가지 옵션이 있다고 생각 :
- 을 그들은 모두 작업이 사용자에 의해 요구되고있는에 따라 집계 뿌리가 될 수 있습니다.
- 모든 작업은 최상위 집계 루트를 거쳐야합니다.
상위 수준 집계 루트는이 다른 엔터티의 컬렉션을 보유합니다.
예 :
홈페이지 집계 루트 : 자동차
두 번째 엔티티 : 좌석 (A 자동차 종류에 따라 중 2 또는 4 석). 내 도메인에서 좌석은 자동차의 일부로 만 존재할 수 있습니다.
도메인의 대부분의 작업은 자동차 수준입니다. 그래서 이것은 집계 루트의 좋은 후보가 될 것입니다. 그러나 (예를 들어 여기서 고심하고 있습니다.) 일부 작업은 시트 레벨에 있습니다 (예 : SpillCoffee, ChangeFabric, Clean ....
시트 및 자동차 모두 골재 뿌리가 될 수 있습니까? 아니면 항상 자동차로 시작해야합니까?
감사