Skip to content

[#433] MainView에 Coordinator을 구성한다#438

Merged
opficdev merged 3 commits intodevelopfrom
refactor/#433-MainView-Coordinator
May 9, 2026
Merged

[#433] MainView에 Coordinator을 구성한다#438
opficdev merged 3 commits intodevelopfrom
refactor/#433-MainView-Coordinator

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev commented May 9, 2026

🔗 연관된 이슈

📝 작업 내용

📌 요약

  • MainViewCoordinator 도입으로 MainView의 루트 상태 및 라우터 소유 책임 분리
  • MainViewUI/Common에서 UI/Main 디렉토리로 이동
  • MainView 내부 바인딩/헬퍼를 extension으로 정리

🔍 상세

  • MainViewCoordinator에서 MainViewModel, 탭별 루트 ViewModel, HomeRoute/TodayRoute 라우터, 알림 상세 선택 상태 관리
  • RootView에서 MainViewModel을 직접 생성하지 않고 DIContainerMainView에 전달하도록 수정
  • MainView의 루트 UI 구성은 유지하면서 ViewModel 및 Router 접근 경로를 coordinator 기준으로 정리
  • MainView의 바인딩 생성 로직을 private extension으로 분리해 body 주변 책임 축소
  • 하위 destination ViewModel 생성 정책과 하위 뷰 presentation 생명주기 관리는 후속 작업 범위로 분리

📸 영상 / 이미지 (Optional)

@opficdev opficdev self-assigned this May 9, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 Pull Request에서는 MainView의 복잡한 상태 관리와 ViewModel 생성을 전담하는 MainViewCoordinator를 도입하여 관심사를 분리하였습니다. 이에 따라 MainView 내부의 여러 NavigationRouter와 ViewModel 생성 로직이 Coordinator로 이동되었습니다. 리뷰에서는 MainView에 남아있는 DIContainer 의존성을 완전히 제거하기 위해 팩토리 메서드들을 Coordinator로 옮길 것과, TodoDetailViewModel 생성 시 편집 버튼 노출 여부를 제어할 수 있는 파라미터를 추가할 것을 제안하였습니다.

Comment thread DevLog/UI/Main/MainView.swift
Comment thread DevLog/UI/Main/MainView.swift Outdated
Comment thread DevLog/UI/Main/MainViewCoordinator.swift
@opficdev opficdev merged commit d15d953 into develop May 9, 2026
1 check passed
@opficdev opficdev deleted the refactor/#433-MainView-Coordinator branch May 9, 2026 16:40
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.

MainView에 Coordinator을 구성한다

1 participant