Skip to content

refactor: recommendsite 패키지 헥사고날 구조 1차 전환#275

Draft
sss4920 wants to merge 1 commit intodevelopfrom
codex/refactor-project-to-hexagonal-architecture
Draft

refactor: recommendsite 패키지 헥사고날 구조 1차 전환#275
sss4920 wants to merge 1 commit intodevelopfrom
codex/refactor-project-to-hexagonal-architecture

Conversation

@sss4920
Copy link
Collaborator

@sss4920 sss4920 commented Mar 13, 2026

Motivation

  • recommendsite 기능을 헥사고날 아키텍처로 분리해 관심사를 명확히 하고 향후 어댑터/포트 교체를 쉽게 하려는 목적입니다.
  • 리팩토링 전에 기존 동작을 보장하기 위해 서비스 단위의 행위 테스트를 추가하려는 목적입니다.

Description

  • 컨트롤러를 adapter/in/web로 이동해 inbound adapter 경로로 정리하고 RecommendSiteController를 새 위치에서 동작하도록 변경했습니다.
  • 유스케이스 계층(RecommendSiteUseCase)과 애플리케이션 서비스(RecommendSiteService)를 추가해 비즈니스 로직을 application 계층으로 분리했습니다.
  • 도메인 포트(domain/port/out/RecommendSiteQueryPort)와 persistence adapter(adapter/out/persistence/RecommendSitePersistenceAdapter) 및 JPA 리포지토리(RecommendSiteRepository)를 추가해 outbound 포트를 구현했습니다.
  • 기존의 serviceinfrastructure 패키지 내 구현(RecommendSiteService, RecommedSiteRepository)은 제거하여 새 계층으로 대체했습니다.
  • 서비스 동작을 검증하는 단위 테스트 RecommendSiteServiceTest를 추가해 최대 9개 제한 및 9개 이하일 때 전체 반환 동작을 명세했습니다.

Testing

  • 단위 테스트 파일 linkmind/src/test/java/com/app/toaster/recommendsite/application/RecommendSiteServiceTest.java를 추가했습니다.
  • 시도한 명령은 cd linkmind && ./gradlew test --tests "com.app.toaster.recommendsite.application.RecommendSiteServiceTest" 이며 테스트 실행은 환경의 Gradle/Java 호환성 문제로 실패했습니다 (오류: Unsupported class file major version 69).
  • 환경 문제 해결 후 RecommendSiteServiceTest가 정상 실행되면 기존 동작(최대 9개 제한)이 검증됩니다.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant