패키지 구조 설계 의도
1. 현재 패키지 구조 선택 이유
프로젝트는 규모는 크지 않지만 도메인 복잡도가 높고 행위 중심 로직이 많다고 판단하여,
DDD 원칙을 부분적으로 적용했습니다.
- 작은 규모라도 복잡한 도메인 관리 필요
- 도메인 경계와 컨텍스트를 명확히 정의
- 향후 서비스 단위 분리를 대비해 구조적 기반 마련
2. 패키지 구조 목적
- 유지보수성 : 변경 시 영향도를 최소화하고 코드 가독성을 높임
- 협업 용이성 : 팀원 간 역할 분리가 명확해져 협업할 때 충돌이 줄어듬
- 확장성 : 새로운 기능을 추가할 때 기존 규칙에 따라 손쉽게 확장 가능
- 아키텍처 확장성 : 필요 시 MSA 전환 등으로 자연스럽게 확장 가능
패키지 상세 구조
1. 최상위 구조
com.example.momo/
├── domain/ ← 각 도메인별 비즈니스 로직
└── global/ ← 공통 유틸, 설정, 인프라
- domain : 실제 비즈니스 도메인별 코드가 위치 (auth, user, meeting, payment, notification, messagehub 등)