Skip to content

[REFACTOR] Post cross-context 경계 정리 #382

@Dimo-2562

Description

@Dimo-2562

✨ 리팩토링 할 부분

상위 이슈: #377

Post 컨텍스트와 source / activity / search / recommendation 사이의 경계 계약을 명확히 하고,
이번 리팩토링 범위에서 유지할 공개 진입점을 정리한다.


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

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

📌 현재 코드의 문제점

  • ActivityPostLookupService, PostKeywordLookupService에 직접 의존하고 있고, Search/RecommendationPostDocument projection에 의존한다.
  • 코드상 공개 계약은 존재하지만, 어떤 의존은 유지하고 어떤 의존은 나중에 분리할지 기준이 명확히 드러나지 않는다.

🎯 리팩토링 방향

  • Activity가 사용하는 post lookup contract는 이번 phase에서 유지할 공개 진입점으로 확정한다.
  • Search/RecommendationPostDocument projection 의존은 유지하되, aggregate 의존이 아님을 문서/코드 설명에서 명확히 한다.
  • Source -> Post.create(...) 생성 경계는 유지하고, 이벤트/ACL 도입은 후속 이슈로 남긴다.

✅ 작업 체크리스트

  • Activity / Search / Recommendation / Source 경계 계약 정리
  • 이번 phase의 유지 계약과 후속 분리 후보 명시
  • 필요 시 문서 또는 테스트로 경계 의도 보강

💡 기대 효과

  • 가독성 향상
  • 성능 개선
  • 유지보수성 향상
  • 코드 중복 제거
  • 기타: 교차 컨텍스트 의존의 의도와 한계 명확화

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions