스프링 패키지 구조
계층형 vs 도메인형

계층형 디렉토리 구조는 전체적인 구조를 빠르게 파악할 수 있지만,
각 레이어 (controller, service 등)별로 수십개의 클래스들이 존재하기 때문에 코드 파악이 어렵다.

도메인형 디렉토리 구조는 관련된 코드들이 응집되어 있고, 도메인과 관련된 스펙 & 기능이 변경되었을 때, 변경 범위가 적다.
하지만 전반적인 흐름을 한눈에 파악하기가 어렵고, 개발자의 관점에 따라 어느 패키지에 둘지 애매한 클래스들이 존재하기 때문에 팀 프로젝트 시, 자신이 예상하는 패키지와 다를 때, 해당 클래스를 찾기가 어렵다.
더보기
계층형 구조
- 규모가 작고, 도메인이 적은 경우
도메인형 구조 선택
- 규모가 크고, 도메인이 많은 경우
댓글