Skip to content

[REFACTOR] Post 바운디드 컨텍스트 DDD 리팩토링 #377

@Dimo-2562

Description

@Dimo-2562

✨ 리팩토링 할 부분

Post 바운디드 컨텍스트를 DDD 관점으로 점진적으로 재정리한다.
이번 작업에서는 기술 게시글 aggregate의 책임을 선명하게 만들고, embedding / summary / query 관심사를 분리하기 위한 선행 테스트와 구조 개선 방향을 함께 반영한다.


🏷️ 도메인 (해당하는 것에 체크)

  • 📝 domain:post (게시글)
  • 👤 domain:useraccount (사용자 계정)
  • 🧠 domain:personalization (개인화 프로필)
  • 🏢 domain:source (테크블로그 출처)
  • 🔍 domain:search (검색)
  • 🔔 domain:notification (알림)
  • 📊 domain:recommendation (추천)
  • 🎯 domain:activity (사용자 활동)
  • 🔐 domain:auth (인증/보안)
  • 🌐 infra (인프라/배포)

📌 현재 코드의 문제점

  • 조회 API / repository 테스트는 존재하지만 Post 애그리거트 자체의 규칙을 직접 보호하는 테스트가 부족하다.
  • Post 컨텍스트 안에 aggregate, query, summary batch, embedding batch 관심사가 함께 있어 책임 경계가 흐리다.
  • 검색/추천의 핵심 입력인 embedding pipeline 회귀를 보호할 테스트가 약하다.
  • 이 상태에서 post 패키지를 리팩토링하면 구조 개선 과정에서 의도치 않은 동작 변경을 빠르게 감지하기 어렵다.

🎯 리팩토링 방향

  • Post = 기술 게시글 애그리거트의 핵심 동작을 테스트로 먼저 고정한다.
    • RssFeedItem -> Post 생성
    • summary / shortSummary 갱신
    • keyword 추가 / 초기화
    • viewCount 증가
  • embedding pipeline 테스트를 보강해 리팩토링 안전망을 만든다.
    • PostEmbeddingProcessorTest
    • PostEmbeddingWriterTest
  • post 컨텍스트 내부 책임을 DDD 관점으로 재정리한다.
    • aggregate 규칙은 entity/domain test 중심으로 이동
    • batch 성격(summary / embedding)은 application pipeline으로 분리된 책임으로 정리
    • 조회 조합 로직은 query service 관심사로 유지
  • PostSummary*Test의 공식 안전망 포함 범위를 정리하고, 후속 리팩토링 기준점으로 삼는다.
  • 이후 실제 패키지/책임 재배치는 이 이슈 하위 작업으로 순차 진행한다.

✅ 작업 체크리스트


💡 기대 효과

  • 가독성 향상
  • 성능 개선
  • 유지보수성 향상
  • 코드 중복 제거
  • 기타: DDD 리팩토링 전후 회귀 안전망 확보 및 post 컨텍스트 책임 경계 명확화

🔗 참고 문서

  • docs/ddd-test-refactoring-roadmap.md
  • docs/test-gap-analysis.md

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions