Skip to content

[refactor/#421] Recommendation application 경계 정리#454

Merged
Dimo-2562 merged 5 commits into
developfrom
refactor/#421
Jul 19, 2026
Merged

[refactor/#421] Recommendation application 경계 정리#454
Dimo-2562 merged 5 commits into
developfrom
refactor/#421

Conversation

@Dimo-2562

@Dimo-2562 Dimo-2562 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

❤️ 기능 설명

Recommendation application 코드가 다른 컨텍스트의 repository를 직접 참조하던 경계를 lookup/application seam으로 정리했습니다.

  • RecommendationCommandService, RecommendationQueryService, RecommendationSchedulerUserRepository 직접 의존을 UserLookupService로 전환
  • 추천 응답의 북마크 여부 조회를 BookmarkLookupService의 bulk ID 계약으로 전환
  • LlmRecommendationServiceReadPostRepository, PostRepository, PersonalizationProfileDocumentRepository 직접 의존 제거
  • 최근 읽은 게시글 제외 목록을 ReadPostLookupService의 post ID 집합으로 제공
  • Post 지연 참조 조회를 PostLookupService로 캡슐화
  • Personalization 조회 결과를 전용 lookup item으로 변환하고 배열·키워드 목록의 방어 복사 적용
  • 각 lookup seam과 Recommendation 호출 경로의 단위 테스트 보강

연결된 issue

close #421



✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가? (API 계약 변경 없는 리팩터링이라 CLI 결과로 대체)
  • 이슈넘버를 적었는가?

🧪 테스트 결과

  • ./gradlew test — 497개 테스트 통과
  • UserLookupServiceTest, RecommendationCommandServiceTest, RecommendationQueryServiceTest — 9개 테스트 통과
  • PersonalizationProfileLookupItemTest, PersonalizationProfileLookupServiceTest, LlmRecommendationServiceTest — 13개 테스트 통과
  • RecommendationIntegrationTest — 4개 테스트 통과
  • git diff --check

@Dimo-2562 Dimo-2562 self-assigned this Jul 19, 2026
@Dimo-2562 Dimo-2562 added 🌟 REFACTOR 리팩터링 (기능 변화 X) 📊 domain:recommendation 추천 시스템 labels Jul 19, 2026
@Dimo-2562
Dimo-2562 merged commit 3cc52a1 into develop Jul 19, 2026
1 check passed
@Dimo-2562
Dimo-2562 deleted the refactor/#421 branch July 19, 2026 04:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📊 domain:recommendation 추천 시스템 🌟 REFACTOR 리팩터링 (기능 변화 X)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] Recommendation application 경계 정리

1 participant