DTO 프로젝트 위치 관련
안녕하세요
orderSimpleQueryDTO의 경우에는 특수한 쿼리를 위한 경로에 위치시켰는데 DTO를 프로젝트에서 일반적으로 어디에 위치시키는지 궁금합니다.
강의를 들으면서 팀 프로젝트를 같이 진행하고 있는데 그 프로젝트에서는 Domain에 위치시켰습니다.
현업에서나 아니면 강사님께서는 어느 위치를 선호하시는지 궁금합니다.
답변 1
32
네 진호님 좋은 질문입니다.
사실 DTO의 위치라는 것은 패키지 설계를 어떻게 가져가는가에 따라 완전히 달라집니다.
예를 들어서 도메인에 포함 될 수 도 있고, 아니면 별도의 dto 패키지를 만들어서 공용으로 사용할 수 도 있습니다.
어떤 경우는 repository 계층에 있을 수도 있고, service 계층에 있을 수도 있습니다.
저는 어느 한 곳을 딱 정하기 보다는, 여러 패키지에서 공유해야 하는 상황이면 별도의 dto 패키지를 만들어서 넣어둡니다.
만약 특정 서비스 계층까지만 사용되면, 해당 서비스 계층에 dto클래스를 함께 둡니다.
만약 특성 repository 까지 해당 dto가 사용되면 해당 repository 계층에 dto클래스를 함께 둡니다.
궁극적으로는 패키지 응집도와 결합도를 고민하면서 가급적 다른 패키지와 연관을 줄이도록 하는 방식이 좋은 방식입니다.
강의 관련 외 질문입니다.
0
65
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
86
1
BeanCreationException
0
86
3
Update 후 UpdateMemberResponse 매핑할 때
0
46
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
98
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
82
1
루트 쿼리라는것은
0
58
1
메서드를 분리하는 기준
0
62
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
108
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
83
2
fetch join과 영속화와 OSIV의 관계
0
84
2
Distinct 사용 전 결과에 대한 의문
0
113
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
56
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
58
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
85
1
DTO 대신 Form 사용은 안되나요?
0
133
1
OSIV ON 상태일 때
0
95
1
fetch join VS fetch join 페이징 궁금증
0
179
2
양방향 연관관계 알아보는 법?
0
104
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2





