2011-08-18 4 views
0

여기는 내가하려는 일의 단순화 된 버전입니다.DDD 집계 디자인 질문

사용자가 검토하고 사용자가 투표 용지에 추가 할 수있는 이야기가 있습니다. 비즈니스 규칙은 리뷰어 투표에만 속할 수있는 이야기이며 투표 용지에는 12 개가 넘는 이야기가 포함될 수 없습니다.

지금 당장 Story는 많은 동작과 상태 전환을 포함하는 집계 루트로 사용됩니다. 지금까지는 리뷰어가 등장하지 않았습니다. 이 디자인을 모델링하는 데 어려움을 겪고 있습니다. Story와 StoryReviewer가 지금 두 개의 대원을 가지고 있습니까?

모든 아이디어가 우수 할 것입니다.

답변

0

정확하게 이해하는 경우 이야기는 '검토되지 않음'상태 일 수 있습니다. 즉, 이야기는 그 자체로 존재하고 검토를 거쳐 사용자 투표에 추가됩니다. 이것이 사실이라면 두 개의 집계 루트 인 User and Story가있는 것처럼 보입니다.

사실이 아니며 이야기가 항상 일부 사용자의 투표 용지에 속해 있고 한 명의 사용자에게서 다른 사용자에게 다시 할당 될 수없는 경우에는 하나의 집계 root : 사용자 만 필요합니다. Story는 User aggregate 내의 엔티티 일뿐입니다.

투표 방법 자체가 아마도 User/StoryReviewer 집계의 엔티티 일 것입니다. 투표 용지는 12 층짜리 투표 규칙을 집행하기에 좋은 장소 인 것 같습니다.