project # 최상위 프로젝트
└- service1 # 서비스
| ├- src.main
| | └- java
| | └- package # 각 서비스 별 최상위 패키지
| | └- adapter # adapter는 외부 시스템과의 상호작용을 담당
| | | ├- in.web
| | | | ├- Rest Controller
| | | | └- Request
| | | └- out.persistence
| | | ├- Entity
| | | ├- Mapper
| | | ├- Adapter
| | | └- Repository
| | ├- application # 비즈니스 로직
| | | ├- port
| | | | ├- in
| | | | | ├- UseCase
| | | | | └- Command
| | | | └- out
| | | | └- Port
| | | └- service # service는 실제 비즈니스 로직의 구현체
| | | └- Service
| | └- domain # domain은 비즈니스 로직과 핵심 데이터 구조를 저장
| | └- Domain
| |
| └- build.gradle
|
├- service2
|
└- service3
...
