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

전지윤님의 프로필 이미지
전지윤

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

비즈니스 요구사항 정리

서비스 계층좀 여쭈보고 싶습니다.

작성

·

245

0


=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예

[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요 김영한 선생님 강의항상잘듣고 있습니다.^^,,,, 웹 애플리케이션을 개발할 떄 컨트롤러- 서비스 - 레포지토리 이렇게 계층을 나누어서 코딩을 하는 경우가 많다고말씀하셨는데 서빅스 계층에서 직접 데이터 베이스에 접근하지 않고 굳이 레포지토리 계층을 또 만들어서 그것을 통해 접근하는 이유가 뭔지좀 여쭤볼 수 있을까요?
감사합니다

답변 1

3

안녕하세요. 전지윤님, 공식 서포터즈 OMG입니다.

각 계층 별로 역할을 '분담' 해놓았다고 생각하시면 됩니다.

DB와 관련된 로직과 처리가 서비스 계층에 포함되어 있다면

기존 서비스 계층에서 하던 역할과 DB와 관련된 역할을 다 처리하게 되어

문제가 발생했을 때 혹은 새로운 로직이 추가 되었을 때 코드 구현과 관리가 힘들어 집니다.

반면 역할을 분리해 놓으면 새로 추가 되거나 문제가 발생한 부분을 '명확히' 짚어내어 해당 계층의 코드 구현 부분을 살펴볼 수 있습니다.

쉽게 생각하면 자바를 처음 공부할 때 main 함수에 모든 로직을 작성하다 '메서드' 혹은 '함수'에 대해 배울 때 함수의 유용함과 역할을 생각해보시면 될 것 같습니다.

감사합니다.

전지윤님의 프로필 이미지
전지윤
질문자

답변 감사합니다!!

전지윤님의 프로필 이미지
전지윤

작성한 질문수

질문하기