2010-12-12 5 views
1

루트가 아닌 집계의 엔터티가 루트 집계를 참조 할 수 있습니까? 또는 루트 집계는 자식 엔티티에 대한 참조 만 보유 할 수 있습니다.루트 집계 참조 문제

답변

6

집계 내의 엔터티는 집계 루트에 대한 참조를 보유 할 수 있습니다.

집합 내의 엔터티는 다른 외부 집계 루트에 대한 참조를 보유 할 수도 있습니다.

외부 개체는 집계 내부에있는 엔터티에 대한 참조를 보유 할 수 없습니다. 외부 개체는 내부 루트 개체 만 참조해야하며 내부 개체는 참조하지 않아야합니다.

쿼리/리포지토리에서만 집계를 반환해야합니다.

집합은 일반적으로 팩토리를 사용하여 전체 집합으로 만들어야합니다.

+0

IOC를 사용하여 집계를 만들 수 있습니까? 나는 ddd에서 IOC를 사용할 수있는 곳을 의미합니다. 공장 대신 서비스 계층에 객체를 생성합니다. – kamal

+0

복잡한 질문입니다. 서비스는 응용 프로그램에서 활동의 원천이므로 궁극적으로 객체 생성의 결과가되는 활동의 원천이되기도합니다. 요청을 역학에서 구별하고 객체 생성에 대한 책임, 즉 실제 건설 코드 자체를 구별해야합니다. 도메인 개체 생성에 대한 지식보다 친밀하고 상세한 것은 없으며 도메인 모델의 일부입니다. 따라서 서비스가 객체 생성을 요구할 수도 있지만 실제로 서비스 계층에 생성 코드를 두는 것은 도메인 계층 지식을 유출하고 매우 밀접하게 결합 된 서비스 계층을 생성하는 것입니다. – Sisyphus

+0

"외부 객체"가 MVVM 패러다임의 ViewModel을 "외부 객체"로 간주하는지 또는 더 구체적으로 도메인 계층 내의 객체를 참조 하는지를 명확히 할 수 있습니까? – jpierson

관련 문제