dto (데이터 전송 객체)로 작업하기 시작했으며 API의 시스템 아키텍처를 구축하는 가장 좋은 방법에 대해 의구심이 있습니다.DDD를 사용하여 API를 작성하기 위해 dto와 작업하십시오.
'B', 'C'및 'D'와 관계가있는 도메인 엔터티 'A'를 상상해보십시오. 모든 "A"가있는 json 목록을 반환하는 서비스 'S'가 있습니다. "BDTO 's", "CDTO 's"및 "DDTO 's"로 채워서 해당 서비스에서 'ADTO'를 만드는 것이 맞습니까? 다른 서비스 "S2"가 있고 특정 세트의 "B"를 반환해야하는 경우 "C2DTO 's", "D2DTO 's"가있는 "B2DTO 's"의 다른 트리를 만들어야합니다. 이것을 올바른 방법일까요?
이 방법을 통해 우리는 거대한 복잡성의 DTO 트리를 각 사용 사례에 대한 특정 DTO와 함께 가질 수 있음을 알았습니다.
는 편집 :
은 내가 조립 부분을 잊어 버렸습니다. 모든 DTO에 대해 다른 어셈블러를 구현해야합니까? 예를 들어 엔티티 A의 경우 두 개의 DTO가 있습니다. 동일한 어셈블러를 사용하거나 A1Assembler 및 A2Assembler를 사용하는 것이 더 좋습니까?
서비스 경계가 명확하게 정의되어 있지 않은 것처럼 보입니다. 귀하의 S는 A를 보유하고 추가없이 ADTO를 반환하거나 A, B, C 및 D 모두에 대한 지식과 상태를 가져야하며 이러한 객체가 읽기 모델로 형성 할 수있는 DTO를 반환해야합니다. –
문제는 ADTO가 BDTO, CDTO 등으로 채워지지만 서비스 S는 ADTO 만 반환한다는 것입니다. 어떻게 작동합니까? DTO가 다른 DTO를 보유 할 수 있습니까? –