인프런 커뮤니티 질문&답변

dev_dev_dev님의 프로필 이미지

작성한 질문수

실전! Querydsl

조회 API 컨트롤러 개발

질문드립니다.

해결된 질문

20.11.27 00:05 작성

·

255

2

안녕하세요. 개발에 흥미를 많이 느끼고 있는 초보자인데요.

제가 배우기로는 controller -> service -> repository

상의 패턴방식이 정론(?)이라고 알고 있었는데 실무에서도 이 강의처럼 간단한 쿼리 조회 같은 경우 바로 repositoy 로 비즈니스 로직 없이 건너뛰어도 괜찮은 것인지 궁굼해서 질문 드립니다. 

아니면 귀찮더라도 서비스를 만들어서 repository로 타고가는 것이 맞는지도 궁굼하네요.

감사합니다. 좋은 하루 되세요^^

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

2020. 11. 27. 22:09

안녕하세요. 동관님 좋은 질문입니다^^

계층간에 호출을 엄격하게 막는 아키텍처가 있고, 계층간에 호출은 어느정도 유연하게 풀어주는 아키텍처가 있습니다.

둘다 공통적으로 중요한 것은 호출의 방향이 한 방향으로 흐르도록 설계하는 것은 공통으로 중요합니다.

(리포지토리에서 서비스를 호출하는 식으로 역방향으로 흐르면 안됩니다.)

계층간에 호출을 엄격하게 막으면 의미없는 서비스 메서드가 상당히 많이 증가합니다.

그래서 저는 실용적인 관점에서 계층간의 호출은 유연하게 풀어주는 방식을 선호합니다.

그런데 이것도 애플리케이션이 너무 커지면 애플리케이션 모듈을 분리하게 되는데 이정도 상황이 되면 계층간의 호출도 엄격하게 막는 정책을 시행합니다.

결국 둘다 각각 장단점이 있으니, 상황에 맞는 선택이 필요합니다^^

감사합니다.