Search

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

두 가지의 패키지 구조

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

적합한 상황

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

장점

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

단점

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