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

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

Jeongyun Cha님의 프로필 이미지
Jeongyun Cha

작성한 질문수

스프링 기반 REST API 개발

이벤트 목록 조회 API 구현

프로젝트 패키지를 도메인단위로?

해결된 질문

작성

·

593

0

스프링 프로젝트들을보면 패키지명을 controller, dto, repository 이런단위로 만들고

관련클래스 파일을 모아놓는식으로 사용하는걸 많이 봤는데요,

강좌에서는 events, accounts 도메인(?) 단위로 만드셨잖아요.

현업에서도 이렇게 사용을 많이 할까요?

이렇게 구성시는 이유? 좋은점은 뭘까요?

답변 2

7

백기선님의 프로필 이미지
백기선
지식공유자

물어보신 질문에 대해 정해진 답은 없습니다. 회사마다 팀마다 패키지 정책이 다를 수 있거든요. 다만 최근 마이크로서비스의 영향으로 패키지를 도메인으로 구분하는 경우가 더 많아진거 같습니다. 스프링 공식 예제 프로젝트인 petclinic을 봐도 그렇구요. 그렇게 나누는게 일리가 있는 이유도 나중에 여러 조각으로 쪼갤 걸 생각하면 미리 도메인 별로 패키징을 해두는게 분리할 때도 도움이 될테니까요. 예전에야 그런 고민이 없었고, 계층형 아키텍쳐를 고려하다보니 service는 dao만 써야하고 controller에서는 service만 써야 하는 구역을 나누느라 그런식으로 패키징을 했었고 그것도 일리 있는 설계라 생각합니다.

0

Jeongyun Cha님의 프로필 이미지
Jeongyun Cha
질문자

설명 감사합니다.. 사랑합니다...

Jeongyun Cha님의 프로필 이미지
Jeongyun Cha

작성한 질문수

질문하기