인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ms-seo님의 프로필 이미지
ms-seo

작성한 질문수

스프링 핵심 원리 - 기본편

주문과 할인 도메인 실행과 테스트

orderServiceImpl에서 repository와 service

작성

·

259

5

안녕하세요 강사님 강의 잘 보고 있습니다.

 다름이 아니라 OrderServiceImpl에서 MemberRepository가 아닌 MemberServiceImpl을 써도 같은 결과가 나올 텐데요

왜 repository를 쓰셨는지 궁금합니다! 😊

단지 많은 접근으로 인한 메모리 낭비 문제인가요? 아니면 다른 이유가 있을까요??

답변 2

7

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

안녕하세요. 민성님

먼저 이 부분은 메모리 낭비 문제는 아닙니다. 사실 많은 접근이라고 해도 이정도는 시스템에 영향이 바다에 모래알 하나 정도의 영향이 있을 뿐입니다. 실제 웹 애플리케이션을 개발해보면 요청 하나를 처리하는데 내부 라이브러리까지 포함하면 수십 수백게의 참조가 동원됩니다.

애플리케이션 설계 방법에 따라서 차이가 있지만, 여러 서비스가 같은 리포지토리를 참조하는 것은 자연스러운 모습니다.

MemberService만 MemberRepository에 접근하도록 제약할 이유는 사실 없습니다.

반대로 시스템이 너무 커지면 별도의 패키지나 컴포넌트로 분리하는 경우가 있는데, 이런 경우에는 MemberRepository에 직접 접근하는 것 보다는 MemberService를 통해서 접근하도록 강제하는게 더 나을 수도 있습니다.

감사합니다.

1

ms-seo님의 프로필 이미지
ms-seo
질문자

답변 감사드립니다!

ms-seo님의 프로필 이미지
ms-seo

작성한 질문수

질문하기