XxxResponse를 service 패키지에 두신 이유가 궁금합니다.
XxxRequest / XxxResponse 클래스를 controller 패키지 하위가 아닌 Service 패키지 하위에 두신 이유가 궁금합니다.
의존성 방향을 Controller부터 단방향을 유지하기 위해 하신것으로 유추 하는 바입니다. 하지만 XxxRequest / XxxResponse가 service 패키지 클래스에 있는게 조금 어색해 보여서요.
저는 controller 하위 패키지에 requeset / response를 두고
facade 혹은 service에 클래스로 묶어서 넘길경우 에는는 domain 계층에 만든 dto를 생성해서 넘깁니다.
제가 생각한게 맞는지 답변 부탁드립니다~
(강의 최고입니다. 저만 듣고 싶어요 흙흙)
답변 1
1
dncjf64님, 안녕하세요!
경계에 대한 고민이 없으면 대수롭지 않게 넘어갈 수 있는데, 아주 좋은 질문입니다!
일단 말씀하신대로 의존성 방향을 단방향으로 유지하기 위해서 service 패키지에 위치한게 맞습니다.
자바 언어 자체로는 패키지 간 import 제약이 없다보니, 이러한 관점에 대해 직접 신경쓰면서 개발하게 되는 부분이네요.
request/response라는 용어가 컨트롤러 API 요청/응답에서의 용어라는 관점을 벗겨내면 크게 어려움 없이 이해되실 수 있을 것 같은데요,
서비스 레이어의 요청/응답 객체라는 관점으로 request/response라는 네이밍을 지었습니다!
동일한 용어로 보이더라도 도메인 또는 경계마다 의미와 해석이 달라질 수 있어서, 이러한 관점이라고 봐주시면 될 것 같네요!
저는 controller 하위 패키지에 requeset / response를 두고
facade 혹은 service에 클래스로 묶어서 넘길경우 에는는 domain 계층에 만든 dto를 생성해서 넘깁니다.
위처럼 해도 문제는 없습니다!
다만, 레이어 넘어가면서 요청/응답 객체를 부가적으로 변환하고 새롭게 선언해야하는 과정이 번거로워서
서비스 레이어에서 요청/응답 객체를 만들었네요.
이것도 Request/Response라는 네이밍을 붙였을 뿐이지, 그냥 동일한 DTO라고 봐주시면 됩니다!
혹시 더 궁금한 점 있으시면 편히 문의 주세요!
감사합니다!
조건 검색 질문
0
31
1
댓글 삭제 로직에서 동시성 문제 발생 가능성
0
34
1
무한 depth 구현 중 CommentPath 관련 질문
0
48
1
테스트 코드 작성 시 DTO 새로 작성하는 이유가 궁금합니다.
0
64
1
Kafka Cluster 구성도 질문
0
49
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
90
1
consumer에서 에러가 발생할 경우 데이터 유실 문의
0
102
2
게시글 테스트 데이터 삽입
0
85
2
정렬, 필터, 검색 등의 조건이 붙을 경우 최적화할 수 있는 방법이 무엇이 있을까요?
0
148
2
좋아요 기능 정합성 보장 방법
0
136
2
좋아요 동시성처리 최적의 선택?
1
184
2
프론트엔드 msa 환경 api 주소 통합? 과 서버끼리 통신 방식에대해
0
126
2
안녕하세요 무한스크롤 강의듣다가 질문이 있습니다.
0
87
1
조회수 조회 로직 질문
1
100
2
비로그인 유저도 어뷰징 방지 정책
1
118
2
CommentServiceTest의 테스트 로직 질문
0
71
2
무한 스크롤 방식에서 페이지 번호 방식 쿼리의 문제점 의문
1
102
2
path 쿼리 관련 질문드립니다!
0
91
2
antigravity 에디터를 쓰신다면 종료해주세요
1
143
0
프로젝트 구조
0
113
2
article_like_count api test
0
105
2
이벤트 페이로드 객체의 생성 방식이 팩토리 메서드 패턴이 아닌 빌더 패턴인 이유가 궁금합니다!.
0
123
2
[33. 좋아요 수 구현] 에서 테스트 하는 화면 동시성 문제
0
121
2
findByPath에서 articleId로도 검색을 해야 할 것 같아요.
0
116
3





