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

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

조은형님의 프로필 이미지

작성한 질문수

Spring Boot를 활용하여 채팅 플랫폼 만들어보기

Entity와 Lazy Fetch에 관하여

Package 구성

작성

·

107

0

domain안에 따로 repository를 만든 이유가 있나요?

답변 2

0

Hong님의 프로필 이미지
Hong
지식공유자

이건 개인적인 스타일이라고 생각하셔도 됩니다.
외부에 빼는 방법도 있겠지만, 저는 항상 개발할때마다 API의 경우에는 domain에서만 repository를 주로 사용을 하기 떄문에, 내부에서 관리를 하는 편입니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 조은형님.

Spring Boot로 개발을 진행하면서 프로젝트의 구조를 구성하는 것은 중요한 부분입니다. domain 안에 repository를 따로 만드는 경우는 보통 다음과 같은 이유 때문입니다:

  1. 관심사의 분리: 프로젝트의 각 구성 요소를 명확히 분리하여, 각 부분이 자신의 역할에만 집중할 수 있게 합니다. domain 패키지 내에 repository를 두는 것은 도메인 모델과 해당 모델에 대한 데이터 접근 로직을 함께 관리하여 코드의 응집도를 높일 수 있습니다.

  2. 도메인 중심 설계: 도메인 패키지가 엔티티와 그와 관련된 비즈니스 로직을 포함하고 있기 때문에, 리포지토리도 같은 패키지에 위치하여 자연스럽게 연관된 코드와 결합됩니다. 이는 도메인 중심 설계(DDD; Domain-Driven Design)에서 권장되는 방식입니다.

  3. 유지보수의 편리함: 관련된 코드가 한 곳에 모여 있으면 수정이나 기능 추가 시에도 더 직관적으로 작업할 수 있습니다. 코드 탐색이 쉽고, 변경 시 영향 범위를 파악하기 쉬워집니다.

혹시 추가적으로 이 설명이 완전히 납득되지 않거나 더 궁금한 점이 있다면, 아래 유사한 질문을 확인해 보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.