2009-05-25 1 views
0

도메인 모델 작업에 새로운 것이므로 초급 질문을 할 때 나를 용서해줍니다.개체 간 관계의 하위 집합을 모델링하는 방법

도메인 개체가 다른 도메인 개체와 1 - 많은 관계가 있지만 첫 번째 개체를 사용하는 논리가 해당 개체의 하위 개체에서만 작동하는 경우이 하위 집합을 표시하는 가장 좋은 방법은 무엇입니까?

예를 들어 사람이 많은 주문과 관련되어 있지만 일부 외부 논리는 사람과 관련된 "전달 된"주문 만 조사해야한다고 가정 해보십시오. Person에 DispatchedOrders 속성이 있어야하고 CompletedOrders 등의 다른 하위 집합에 대한 다른 속성이 있어야합니까? 아니면이 나쁜 디자인입니까? 내가 메모리에서 개체를 필터링하지 못할와 내가 관심이 다시 하위 집합 만 끌어 SQL을 사용해야합니다 성능상의 이유로 가정합니다.

감사

답변

1

당신이 관심있는 세트를 찾을 SQL을 사용하는 경우 당신은 완벽한 세상에 있습니다. 관계형 쿼리는 모두 그런 종류의 것을 찾는 것에 관한 것입니다. 완벽한 쿼리를 찾은 다음 결과 튜플의 클래스, 즉 각 결과 튜플에 대한 객체를 파악하고 적절하게 처리하십시오.

예를 들어, "Dispatched Orders"세트가 필요합니다. 각 세트에 필요한 사람 정보가 필요합니다.

0

나는 올바른 생각을 가지고 있다고 생각합니다. DispatchedOrders가 나에게 어떤 개체 컬렉션을 반환하는지 정확하게 알려줄 것입니다. Curt가 말했듯이 SQL/저장 프로 시저를 사용하여 데이터를 가져올 수 있기 때문에 좋은 위치에 있습니다.

주의 사항 - 도메인이 비즈니스 프로세스와 일치하며 해당 프로세스에 대한 이해를 보완하는 것은 아닙니다. 즉, 다른 사람을 구성 할 때 왜 사람이 질서에 우선권을 가지며 어떤 구석에 그려져있는 것입니까? 광고 항목에도 광고 주문이 포함되어 있으며 이로 인해 개체가 부풀어 오릅니 까? 고객과의 토론을 통해 답을 찾을 수 있습니다.

음속의 Rob Conery는 good discussion of these types of issues입니다. 듣기에 가치가 있습니다.