Skip to content

refactor: 위임만 하던 UseCase 4개 제거 (Phase F 완료, 21 → 11) - #371

Merged
YuGeonHui merged 1 commit into
env/devfrom
refactor/v2-phase-f-place-repo
Sep 24, 2026
Merged

YuGeonHui merged 1 commit into
env/devfrom
refactor/v2-phase-f-place-repo

Conversation

@YuGeonHui

Copy link
Copy Markdown
Collaborator

무엇을

Phase F의 마지막 묶음. GetCurrentLocation / ReverseGeocode / SearchPlaces / RecentSearches 4개를 지우고 호출처가 Domain 포트를 직접 주입받게 했다. UseCase 21 → 11로, 리팩토링 계획의 목표치에 도달했다.

넷 다 단일 Repository 메서드를 한 줄 위임하던 계층이다 — 같은 프로토콜에 이름만 하나 더 입히고 있었다. 판단 기준은 결정표 3번(다중 포트 조합 / 비즈니스 규칙 / 팀 규모)이고, 남긴 11개는 전부 ① 또는 ②를 만족한다.

경계는 그대로

피처가 주입받는 건 여전히 Domain 프로토콜(LocationService, PlaceRepository, RecentSearchRepository)이고, 구체 Data 타입을 보는 곳은 AppDIContainer 하나뿐이다. Presentation → Domain ← Data는 유지된다.

부수 정리

  • 위임 여부만 검증하던 Domain 테스트 5개 삭제. 앞 PR(refactor: 위임만 하는 UseCase 6개 제거 (Phase F, 21 → 15) #370)에서 UseCase를 지울 때 테스트 파일이 남아 DomainTests 타겟이 컴파일되지 않고 있었다 — 빌드만 도는 CI에는 잡히지 않던 구멍이다.
  • Example/Tests 스텁이 좁은 UseCase 대신 PlaceRepository 전체를 채택하게 되어, 해당 화면이 쓰지 않는 메서드에 기본 구현을 달았다.
  • RecentSearchesUseCase.fetch() → RecentSearchRepository.recentSearches()로 호출명이 바뀐다.

검증

항목 결과
AtchaV2 Debug / Stage / Release 빌드 3구성 모두 통과
Domain 112 통과
AtchaData 53 통과
AtchaV2 39 통과
HomeFeature 66 통과
SearchFeature 26 통과
SettingsFeature 18 통과

🤖 Generated with Claude Code

GetCurrentLocation / ReverseGeocode / SearchPlaces / RecentSearches 를
지우고 호출처가 Domain 포트(LocationService·PlaceRepository·
RecentSearchRepository)를 직접 주입받는다. 넷 다 단일 Repository 메서드를
한 줄 위임하던 계층이라, 같은 프로토콜에 이름만 하나 더 입히고 있었다.

Presentation → Domain 경계는 그대로다 — 피처가 받는 건 여전히 Domain
프로토콜이고 구체 Data 타입은 AppDIContainer만 본다.

부수 정리:
- 위임 여부만 검증하던 Domain 테스트 5개 삭제 (Observe/ObserveChange/
  RequestAlarmSync/GetLastRouteDetail/ReverseGeocode). 앞 커밋에서 UseCase를
  지울 때 테스트 파일이 남아 DomainTests가 컴파일되지 않고 있었다.
- Example/Tests 스텁이 좁은 UseCase 대신 PlaceRepository 전체를 채택하게 되어
  쓰지 않는 메서드에 기본 구현을 달았다(의도된 Tests/Example 중복 규약).
- RecentSearchesUseCase.fetch() → RecentSearchRepository.recentSearches()로
  호출명이 바뀐다.

검증: Debug/Stage/Release 3구성 빌드 + Domain 112 · AtchaData 53 · AtchaV2 39
· HomeFeature 66 · SearchFeature 26 · SettingsFeature 18 전부 통과.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@YuGeonHui
YuGeonHui merged commit 07c6934 into env/dev Sep 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant