2012-11-07 11 views
0

값 개체 및 집계 방법을 이해하는 데 어려움이 있습니다. 나는 나의 상황을 예를 들어 설명 할 것이다.값 개체 내 값 개체 [DDD]

엔터티Relationship이 있습니다. ID 및 StartDate와 같은 값을 보유합니다. 두 개의 값 개체 : BoyfriendGirlfriend이 있습니다. 남자 친구와 여자 친구가 모두 주소를 가지고있어서 다른 값 객체 Address을 만들었습니다. 데이터베이스 내에서 이들은 모두 하나의 테이블 (예 : ID, StartDate, BoyfriendAddress, GirlfirendState 등)에 결합됩니다.

어떻게 남자 친구와 여자 친구를 만듭니 까? 정의에 대한 나의 이해에서 그들은 루트 엔티티가 없으므로 집합으로서의 자격을 얻지 못합니다. 값 객체는 그 안에 또 다른 값 객체를 가질 수 있습니까?

답변

2

예, 값 개체를 다른 값 개체 안에 포함 할 수 있습니다. 나는 이것의 가장 단순한 예가 금액과 통화를 포함하고있는 클래스 Money 일 것이라고 생각합니다. 이것은 다른 VO입니다.

또한, 남자 친구와 여자 친구가 글로벌 고유 ID가없는 경우, 그들은하지 집계 뿌리이 있고, 그들이 관계 안에 지역 고유 ID가없는 경우, 그들은 실체는 아니다 중 하나입니다.

솔직히 말해서, 첫 번째 앱은 정치적으로 올바르지 않습니다. :) - GLBT 관계가 있습니다. 둘째, 사람 (자신의 이름이 있다고 가정)이 엔티티 또는 집합 루트가 아니라는 것이 이상하다고 생각합니다.

+0

이것은 실제 응용 프로그램은 아닙니다. 보다 복잡한 응용 프로그램을 나타 내기위한 것입니다. 또한 BF/GF가 고유하게 식별되지 않도록 데이터에 액세스 할 필요가 없습니다. 그들은 이름과 주소가 있지만 다른 사람과 중복 될 수있는 것은 없습니다. – AdamDev