내 프로젝트에서 도메인 기반 디자인 패턴을 사용하고 있습니다. 모델 개체를 유지할 때 사용하는 다양한 데이터 매퍼가 있습니다. 내 모델 중 일부는 속성으로 다른 모델을 포함합니다 (예 : 모델 클래스 Book에는 모델 클래스 Person의 작성자가 포함됨).도메인 기반 디자인 패턴에서 서로를 호출하는 데이터 맵퍼
Book
|->string title
|->Person[] authors
각 모델에는 대응하는 매퍼 (예 : Book_Mapper, Perspon_Mapper)가 있습니다. 모델 객체를 지속 할 때 하나 매퍼가 다른 매퍼에 전화를 걸 수 있도록
는 확인된다 책 객체를 지속 할 때예를 들면, 나는
Person::Mapper(Person)
를 호출
Book_Mapper::Save(Book)
전화 책의 각 저자에 대한
?
여기에 eulerfx에 추가 할 내용 : 'Person'이 집합체 인 경우 실제로는'Book' 집계에 저자 목록을 포함하는 'Author' 값 객체 뒤에있을 수 있습니다. 일반적으로 사람 ID 목록이면 충분하지만 VO에 대한 추가 정보가 필요하거나 경량 CQRS/Query/Reporting/Read Model 항목의 작성자 이름과 같은 일부 데이터를 비정규화할 수도 있습니다. –
좋아요, 그렇다면 내가 여러 책의 저자가 될 수있는 사람을 가질 수있는 방법은 단순히 책의 속성에 그 사람의 ID를 저장하고 새 책이있을 때 책 및 매킨토시를 호출하는 것입니다 지속될 거지, 그렇지? – silentser
@ silenter : 새 책을 보관할 때 ID를 저장하기 때문에 사람 매퍼를 호출 할 필요가 없습니다. 그러나 쿼리 할 때 전용 [read-model] (http://gorodinski.com/blog/2012/04/25/read-models-as-a-tactical-pattern-in-domain-driven- design-ddd /)를 사용하여 필요한 모든 데이터에 참여하십시오. – eulerfx