Skip to content

[REFACTOR] Post query/read model 책임 정리 #381

@Dimo-2562

Description

@Dimo-2562

✨ 리팩토링 할 부분

상위 이슈: #377

Post query/read model 조합 책임을 정리해,
PostQueryService가 조회 조합 전용 application service로 읽히도록 다듬는다.


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

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

📌 현재 코드의 문제점

  • PostQueryService는 조회 API 조합 역할을 하고 있지만, keyword/bookmark/thumbnail 조합 로직이 내부 private 메서드에 몰려 있어 책임이 덩어리로 보인다.
  • 현재 서비스가 aggregate 규칙과 projection 규칙을 다루는 것처럼 오해될 수 있다.

🎯 리팩토링 방향

  • PostQueryService를 조회 조합 전용 service로 명확히 유지한다.
  • keyword/bookmark/thumbnail 최적화 조합 책임을 읽기 쉬운 단위로 분리하되 외부 API와 DTO shape는 유지한다.
  • 현재 테스트를 기준으로 query/read model 조합 규칙 회귀를 방지한다.

✅ 작업 체크리스트

  • PostQueryService 책임 재정리
  • keyword/bookmark/thumbnail 조합 로직 가독성 개선
  • 기존 PostQueryServiceTest 보강 필요성 점검
  • 회귀 테스트 검증

💡 기대 효과

  • 가독성 향상
  • 성능 개선
  • 유지보수성 향상
  • 코드 중복 제거
  • 기타: 조회 조합 책임과 aggregate 책임 분리

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