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

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

조은형님의 프로필 이미지
조은형

작성한 질문수

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

Entity와 Lazy Fetch에 관하여

Package 구성

작성

·

57

0

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

답변 2

0

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

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

0

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

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

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

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

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

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

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

조은형님의 프로필 이미지
조은형

작성한 질문수

질문하기