해결된 질문
작성
·
132
·
수정됨
0
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라고 봐주시면 됩니다!
혹시 더 궁금한 점 있으시면 편히 문의 주세요!
감사합니다!