저는 지난 2 주 동안 DDD를 공부 해왔고 실제로 집계 된 뿌리가 다른 집계를 포함 할 수있는 방법 중 하나였습니다. 집계 루트는 저장소에서 검색되지만 루트에 다른 루트가 포함되어있는 경우 저장소에 다른 저장소에 대한 참조가 있고 하위 루트를 작성하도록 요청합니까?DDD : 다른 집계에 대한 집계 루트를 얻는 것
답변
내 의견에 따르면 - 나는 동일한 시나리오를 가지고 있으며 이것들을 다루는 방식은 내가 사용하고있는 ORM을 통한 것입니다 - nHibernate.
여러 엔티티가 집계되는 모든 엔티티에 대한 매핑이 있으며 그 중 하나에는 멤버 변수로 다른 여러 집계가 있습니다. nHibernate는 (매핑을 통해) 필요한 모든 데이터를 얻는 방법을 알고 있기 때문에이 종합 집계 루트의 저장소에는 다른 집계 루트 저장소에 대한 참조가 필요하지 않습니다.
HTH
AWC
저장소 구축하지만 저장하지 않습니다. ddd를 사용할 때는 작업 단위, ID 맵, 지연로드, 오브젝트 관계 맵퍼, 조회 오브젝트 (동적) 프록시와 같은 기본 지속성 패턴에 익숙해지기를 원할 수 있습니다. (이 패턴은 ddd와는 아무런 관련이 없지만 알기에는 매우 유용합니다). 저장소는 앞에서 언급 한 패턴의 구현을 숨기고 도메인 중심의 방식으로 추상화 된 데이터 액세스를 숨기는 외관 일뿐입니다. 대부분의 사람들은 요즘 수동으로 퍼시스턴스 인프라 스트럭처를 수동으로 작성하지 않습니다. 특히 ddd를 사용할 때, orm을보고 싶을 수도 있습니다.
데이터베이스 레코드를 개체로 변환하는 코드의 실제 참조는 datamapper에 있습니다. 매핑 클래스 자체의 매핑 클래스 간에는 참조가 있거나, 매퍼 팩트와 같은 것으로 만들어집니다.
public interface IDataMapper<T>
{
T Map(IDataReader reader);
}
당신은 당신을 위해 그것을 수행하는 도구를 사용하여 도구의 코드 부분 (ORM)가 어떻게 작동하는지 이해하려고,이 코드를 직접 구현할 필요가 없습니다. 어떤 orm도없는 순수한 ddd는 많은 코드를 작성하지 못하게하는 훌륭한 도구가 없으면 거의 불가능합니다.
@Paco : 틀렸어. 저장소는 객체를 저장하기위한 것이 아닙니다. 에릭 에반 (Eric Evan)의 DDD 서적을 읽었다면 리포지토리가 객체 지향 메모리 내 데이터 표현과 같은 것임을 알 수 있습니다. 콜렉션을 사용할 때와 같은 방법으로 리포지토리 객체를 사용할 수 있습니다. 인덱서를 사용하여 개체를 가져 오거나 설정할 수 있으며 Add() 메서드를 사용하여 새 개체를 추가하거나 Remove() 메서드를 사용하여 개체를 제거 할 수 있습니다.
리포지토리는 다음을 위해 인프라를 사용합니다. 데이터베이스와의 데이터 읽기/쓰기. 관계형 데이터베이스의 데이터 검색과 엔티티 매핑을 단순화하기 위해 DataMapper를 사용할 수 있습니다.
- 1. DDD 집계 질문 (.NET, EF)
- 2. 제공된 Scenerio에서 내 DDD 집계 루트를 선택하는 데 도움이됩니까?
- 3. DDD - 루트를 모으고 동작 객체 만들기
- 4. DDD : 집계 근원 질문
- 5. DDD, EF, 집계
- 6. DDD : 집계 루트
- 7. DDD 집계 디자인 질문
- 8. DDD 다른 저장소에 대한 저장소 인식
- 9. DDD 집계 및 값 객체
- 10. DDD 집계 대 GoF의 외관
- 11. DDD - 집계 루트 - 예 주문 및 OrderLine에
- 12. 저장소에 집계 루트를 추가하는 방법은 무엇입니까?
- 13. DDD : Aggregate boundaries에 대한 질문
- 14. 집계 루트를 통해 엔티티에 액세스 : 간단한 예?
- 15. ASP.NET MVC + DDD - 집계 루트에 대한 작업 만들기 및 업데이트
- 16. DDD/NHibernate 집계 루트 사용 및 웹 디자인에 대한 영향 - 예. 집계 루트의 하위 항목을 편집
- 17. 클래스 디자인, 상속/집계에 대한 조언 요청
- 18. 도메인 드라이브 디자인에서 집계 루트를 식별하는 데 어떤 방법을 사용합니까?
- 19. DDD의 엔티티를 사용하여 집계 루트를 유지/복원하는 방법은 무엇입니까? 도메인 기반 디자인에서 다음과 같은 정의를 바탕으로
- 20. 집계 패턴 및 실적 문제
- 21. 웹 응용 프로그램 루트를 얻는 방법은 무엇입니까?
- 22. 브라우저의 위치를 얻는 것
- 23. ASP.NET MVC 3 영역 및 DDD 집계 루트
- 24. 지연로드가없는 집계 엔티티 액세스
- 25. 집계에 의한 Linq to SQL 순서
- 26. 내 코드 DDD (도메인 기반 디자인)가 적합한 이유는 무엇입니까?
- 27. requestDispatcher를 얻는 것
- 28. 파일의 위치를 얻는 것
- 29. 페이스 북에서 사진을 얻는 것
- 30. DDD 모델링, 골재 뿌리 간의 상호 작용
도메인 기반 디자인입니까? 복합 디자인 패턴을 보셨습니까? – philant