두 가지의 패키지 구조
최근 프로젝트는 모듈 위주로 아래와 같은 패키지 구조를 사용했다.
•
module.controller
•
module.service
•
module.domain
•
...
과거에는 레이어 위주로 아래와 같은 패키지 구조를 사용했다.
•
controller.module
•
service.module
•
domain.module
•
...
적합한 상황
•
모듈 위주의 구조 : 개발자 별로 기능 단위로 개발하는 상황
•
레이어 위주의 구조 : 도메인 모델 위주로 개발하는 상황
장점
•
모듈 위주의 구조 : 모듈 단위로 분리하기 편하다.
•
레이어 위주의 구조 : 중복된 부분을 제거하기 용이하다.
단점
•
모듈 위주의 구조 : 도메인 간의 관계보다 각 모듈별로 개발할 가능성이 높다.
•
레이어 위주의 구조 : 추후 모듈을 분리하기가 어렵다.