Skip to content

[Refactor] UI-로직 분리(Bridge 패턴) 및 기능 중심 폴더 구조 재편 #50

@karpitony

Description

@karpitony

개요

WhereAmI.cs가 화면 표시, WebView2 제어, 좌표 계산, 로그 감시 등 너무 많은 책임(God Object)을 가지고 있습니다. 또한,
현재 Classes, UserControls 등 형태 위주의 폴더 구조를 기능(Feature) 중심으로 재편하여 확장성을 확보하고자 합니다.

작업 내용 Task List

  • WebView2 관리 로직 추출: WhereAmI.cs의 초기화 로직을 WebViewManager 클래스로 분리
  • Bridge 패턴 도입: WebView2와 C# 간의 메시지 통신을 전담하는 UIBridge 및 ContentBridge 클래스 구현
  • 기능 중심 폴더 구조 재편:
    • Core/: 설정, 로거, 유틸리티
    • Features/Map/: 좌표 계산, 층 관리, 로그 와처
    • Features/Quest/: 퀘스트 저장소 및 관련 로직
    • UI/Bridges/: WebView2 통신 핸들러
    • UI/Controls/: WinForms UserControls (View 역할만 수행)
  • 의존성 주입(DI) 검토: 각 기능 클래스 간의 결합도를 낮추기 위해 생성자를 통한 인스턴스 주입 방식 적용

기대 효과

  • 특정 기능(예: 맵 로직) 수정 시 UI 코드를 건드리지 않아도 됨 (관심사 분리)
  • 새로운 기능 추가 시 폴더 구조상 위치가 명확해져 협업 용이성 증대

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions