내 판매 모듈에 Order
및 OrderType
클래스가 있으며, OrderType
클래스는 일부 분류 목표에 사용하고 Order
에 일부 비즈니스 규칙을 적용합니다. 각 클래스에는 고유 한 테이블이 있습니다.DDD의 값 객체
내 프로젝트에 DDD
기술을 적용하고 싶습니다. 따라서 Order
은 집계 루트입니다.하지만 OrderType
은 어떨까요? Order
집합에도 포함되어 있습니까? 아니면 값 개체입니까? 저는 그것이 가치 객체라고 생각합니다. 맞습니까?
단순히 DDD 기술을 적용 할 수 없습니다. DDD는 레서피에 따라 버튼을 누르지 않고 도메인을 정확하게 모델링합니다. 왜 주문은 골재입니까? 어떤 Ordered 문맥은 Order의 본질적인 특성입니까? 도메인은 OrderType에 의해 무엇을 이해합니까? DDD는 엔티티와 가치 객체를 선택/추측하는 것이 아닙니다. 그리고 내가 많은 관계를 볼 때 나는 99.99 % 당신이 DDD를하고 있지 않다는 것을 확신합니다. 당신은 여전히 도메인을 모델링 할 때 DDD에 아무 것도없는 rdbms 사고 방식을 사용하고 있습니다. – MikeSW
@MikeSW : 요약 : 1. Order는 Order 및 OrderLines의 지속성을 담당하기 때문에 루트입니다. 2. 제한된 컨텍스트는 판매입니다. 3. 예 OrderType은 Order의 고유 기능입니다 (OrderType의 일부 값 : InternalOrder, ExportOrder, ...) 4. 왜 "일대일을 볼 때 ..."라고 말하는가? 모델에서 일대 다 관계를 가지고 DDD 주체와 모순이 있습니까? – Masoud
집계 루트가 ** 지속성과 관련이없는 ** 전혀 없다는 점을 두려워합니다. 도메인 개념과 관련이 있습니다. DDD에 대해 더 많이 읽고 올바른 것을 이해할 때까지 '정상적인'OOP 만 사용하는 것이 좋습니다. 적어도 당신은 DDD를하고 있다는 (틀린) 가정하에 있지 않을 것입니다. – MikeSW