✨ 리팩토링 할 부분
상위 이슈: #377
선행 참고 이슈: #378, #379, #380, #383
post 컨텍스트 패키지를 최상위로 승격하고,
바운디드 컨텍스트 내부 구조를 DDD 레이어 기준으로 재배치한다.
🏷️ 도메인 (해당하는 것에 체크)
📌 현재 코드의 문제점
- 현재
domain/post 내부에는 aggregate, query, batch, Elasticsearch projection, controller가 함께 섞여 있어 레이어 경계가 package 구조에 잘 드러나지 않는다.
- 이후 책임 정리(
#381)나 교차 컨텍스트 경계 정리(#382)를 진행하려면 먼저 post 컨텍스트 내부 구조가 일관된 레이어 기준으로 정렬되어야 한다.
Post를 핵심 aggregate root로 보면서도 package 구조상 domain/application/infrastructure/presentation 구분이 약해 리팩토링 비용이 누적된다.
🎯 리팩토링 방향
post 컨텍스트를 최상위 패키지로 승격할지(com.techfork.post) 또는 현 위치를 유지할지 최종 결정하고, 선택한 기준으로 일괄 정리한다.
- 하위 구조를 DDD 레이어 기준으로 재배치한다.
domain: aggregate, entity, value/projection 경계 명시
application: query/command/use-case 및 batch orchestrator
infrastructure: repository adapter, persistence 세부 구현
presentation: controller, request/response adapter
document/batch는 aggregate와 같은 층에 두지 않고 projection/application pipeline 관점으로 재배치한다.
- 테스트 패키지도 동일한 레이어 기준으로 함께 이동해 구조와 검증 위치를 맞춘다.
✅ 작업 체크리스트
💡 기대 효과
✨ 리팩토링 할 부분
상위 이슈: #377
선행 참고 이슈: #378, #379, #380, #383
post컨텍스트 패키지를 최상위로 승격하고,바운디드 컨텍스트 내부 구조를 DDD 레이어 기준으로 재배치한다.
🏷️ 도메인 (해당하는 것에 체크)
📌 현재 코드의 문제점
domain/post내부에는 aggregate, query, batch, Elasticsearch projection, controller가 함께 섞여 있어 레이어 경계가 package 구조에 잘 드러나지 않는다.#381)나 교차 컨텍스트 경계 정리(#382)를 진행하려면 먼저 post 컨텍스트 내부 구조가 일관된 레이어 기준으로 정렬되어야 한다.Post를 핵심 aggregate root로 보면서도 package 구조상 domain/application/infrastructure/presentation 구분이 약해 리팩토링 비용이 누적된다.🎯 리팩토링 방향
post컨텍스트를 최상위 패키지로 승격할지(com.techfork.post) 또는 현 위치를 유지할지 최종 결정하고, 선택한 기준으로 일괄 정리한다.domain: aggregate, entity, value/projection 경계 명시application: query/command/use-case 및 batch orchestratorinfrastructure: repository adapter, persistence 세부 구현presentation: controller, request/response adapterdocument/batch는 aggregate와 같은 층에 두지 않고 projection/application pipeline 관점으로 재배치한다.✅ 작업 체크리스트
#381,#382가 새 구조 위에서 이어질 수 있도록 기반 정리💡 기대 효과