2011-01-24 8 views
0

내 프로젝트 광고주 및 보너스 프로그램에는 두 가지가 있습니다.값 개체 또는 개체

비즈니스 규칙은 : -

  1. 광고주는 보너스 프로그램의 목록에서 보너스 프로그램을 선택합니다.

  2. 한 번에 하나의 보너스 프로그램 만 할당 할 수 있으며 이전 보너스 프로그램은 해당 광고주에 대해 삭제됩니다.

  3. 보너스 프로그램은 광고주가 만들지는 않으며 할당 된 것입니다.

  4. BonusPrograms이 광고주별로 생성되지 않습니다

    , 그것은

  5. 모든 새 bonusprogram이

내 질문은 프로젝트에 언제든지 도입 할 수있는 모든 광고주입니다 - :

1) 나는 광고주 root aggregate에 대해 별도의 agg root로 보너스 프로그램을 만들었습니다. 왜냐하면 광고주는 그것을 생성하지 않고 단지 그것을 할당하기 때문입니다. 내가 맞습니까?

또는

2) 새로운 하나를 이전 제거 할당되면, 하나의 bonusprogram가 광고주에 할당되어 있기 때문에 내가 광고주 집계에서 valueobject로 BonusPrograms을합니까?

답변

1

BonusProgram이 Entity이지만 Aggregate Root가 아닌 옵션 3)을 사용합니다. 귀하의 도메인에 대해 더 많이 알지 못한다고 말하기는 어렵지만 여기에 설명 된 내용에서 광고 (또는 마케팅 등)는 총계이며, 광고주 및 보너스 프로그램은 해당 집계에 속한 엔티티입니다. 네가 말한 것에서 뿌리가 골재에 무엇이 될지 모르지만, 광고주 나 보너스 프로그램처럼 나에게 들리지는 않는다.

+0

광고주는 확실한 루트 집계입니다,하지만 난 보너스 프로그램과 혼란 스러워요. Bonusprograms는 광고주가 보너스 프로그램을 선택하면 해당 헌신이 끝났을 때 약정 보너스가 주어질 때 약정을해야하는 보너스 프로그램입니다. 광고주는 bonusprogram을 생성하지 않으므로 할당 만합니다. 보너스 프로그램을 별도의 루트 집계 – kamal

+0

아니요, 이미 말한대로 보너스 프로그램에 넣으시겠습니까? 집계에는 집계 루트뿐만 아니라 많은 엔티티가있을 수 있습니다. 당신이 보너스 프로그램에 관해 말한 것에서부터, 그것은 나에게 그것의 자신의 집합체가 될만큼 충분히 육감적이지 않습니다. – Paul

+0

내일, 데이터베이스에 새로운 보너스 프로그램을 추가해야한다면 내일 보너스 프로그램을 루트 agg로 만들지 않고 보너스 프로그램을 추가해야합니다. 광고주가 bonusprogram을 작성하지 않으며 광고주 만이 루트 엔티티이기도합니다. – kamal

0

첫 번째로, 나는 폴 (Paul)에 동의한다고 말하면, 어느 시점에서 그의 대답을 받아 들여야한다. 나는 이것을 코멘트로 만들었을 것이지만 나는이 방법을 더 잘 표현할 수있다.

여기에 두 가지 질문을하고 있으며 각각에 두 가지 공통적 인 끈적 개념이 있습니다.

첫 번째 질문은 광고주가 집계 루트 인 경우 BonusProgram이 광고주와 관련하여 진행되는 개념입니다. 이것은 확실히 흥미로운 질문이며 도메인 및 사용 사례에 따라 다릅니다. BP가 값 객체인지 엔티티인지 여부는 집계가 일반적으로 둘 모두를 포함하기 때문에 의존하지 않습니다. 집계의 요점은 외부 (집계 루트에 대한) 객체에 대한 객체 탐색을 단순화하는 것입니다. 외부 객체가 참조를 가질 수있는 루트 엔티티 하나를 선택하고 유스 케이스의 경우 하나만 선택하면됩니다. 즉, 클라이언트 개체는 광고주에 대한 참조를 가질 수 있지만 BonusProgram은 참조 할 수 없습니다. 광고주는 임상 진료 객체의 요청을 충족시키기 위해 BP를 보유하고 BP에 대한 참조를 유지합니다.

두 번째 질문은 BP가 값 개체인지 엔터티인지 여부입니다. 다시 답변은 도메인에 따라 다릅니다. 항상 자신에게 물어 보는 질문은 당신이 사물의 정체성에 관심이 있는지 없는지입니다. 만약 당신이 상관하지 않는다면 그것은 값 객체입니다; 만약 당신이 상관 없다면 엔티티입니다. 가치 객체의 고전적인 사례는 돈입니다. 당신이 확실히 그것에 관심이있는 반면, 일반적으로 어떤 달러가 (1 달러는 다른 것만큼 훌륭합니다) 걱정하지 않습니다!이 경우 BonusProgram은 엔티티와 같은 냄새를 풍깁니다. BP가 지난 달에 효과가 있었고이 달의 BP와 비교하여 결과가 어땠는지 등을 아는 것이 흥미로울 것입니다.

다시 폴은 똑같은 말을하고 있습니다. 당신은 그의 대답을 받아 들여야합니다.

HTH,
Berryl