패키지 구조는 어떻게 가져갈까?

📌 두 가지의 패키지 구조

최근 프로젝트는 모듈 위주로 아래와 같은 패키지 구조를 사용했다.
module.controller
module.service
module.domain
...
과거에는 레이어 위주로 아래와 같은 패키지 구조를 사용했다.
controller.module
service.module
domain.module
...

📌 적합한 상황

모듈 위주의 구조 : 개발자 별로 기능 단위로 개발하는 상황
레이어 위주의 구조 : 도메인 모델 위주로 개발하는 상황

📌 장점

모듈 위주의 구조 : 모듈 단위로 분리하기 편하다.
레이어 위주의 구조 : 중복된 부분을 제거하기 용이하다.

📌 단점

모듈 위주의 구조 : 도메인 간의 관계보다 각 모듈별로 개발할 가능성이 높다.
레이어 위주의 구조 : 추후 모듈을 분리하기가 어렵다.
TOP