Skip to content

[#468] WidgetCore 레이어에서 Domain 레이어 의존성을 제거한다#473

Merged
opficdev merged 6 commits into
developfrom
fix/#468-WidgetCore
May 18, 2026
Merged

[#468] WidgetCore 레이어에서 Domain 레이어 의존성을 제거한다#473
opficdev merged 6 commits into
developfrom
fix/#468-WidgetCore

Conversation

@opficdev
Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🔗 연관된 이슈

🎯 의도

WidgetCore가 Domain/Data 레이어에 직접 의존하던 구조를 정리하고 위젯 동기화 흐름과 스냅샷 갱신 책임을 각 레이어 역할에 맞게 재배치

📝 작업 내용

📌 요약

  • 위젯 Todo 스냅샷 공용 타입의 Core 계층 이동
  • 위젯 동기화 이벤트 및 핸들러의 Data 계층 이동
  • WidgetCore의 Domain/Data 의존성 제거
  • 위젯 스냅샷 갱신 구현체의 Persistence 내 Widget 폴더 이동

🔍 상세

  • WidgetTodoSnapshot을 Core 계층으로 이동해 Data, Persistence, WidgetCore에서 공통 스냅샷 값으로 사용
  • WidgetSyncEvent, WidgetSyncEventBus, WidgetSyncEventBusImpl, WidgetSyncEventHandler를 Data 계층으로 이동
  • WidgetSyncEventHandler 관련 테스트를 Data 테스트 타깃으로 이동
  • WidgetCore 스냅샷 팩토리가 Core의 WidgetTodoSnapshot을 직접 사용하도록 변경
  • WidgetCore 프로젝트에서 DevLogDomain.framework, DevLogData.framework 링크 제거
  • WidgetSnapshotUpdaterImpl, WidgetSnapshotPreferenceStoreImpl을 Persistence의 Widget 폴더로 이동
  • WidgetCore 내 불필요한 Domain/Data import 제거
  • Xcode Local MCP 빌드 성공 확인

📸 영상 / 이미지 (Optional)

graph TD
    App --> Core
    App --> Domain
    App --> Data
    App --> Infra
    App --> Persistence
    App --> Presentation
    App --> WidgetCore

    WidgetExtension --> WidgetCore
    WidgetCore --> Core

    Persistence --> Core
    Persistence --> Data
    Persistence --> WidgetCore

    Infra --> Core
    Infra --> Data

    Data --> Core
    Data --> Domain

    Presentation --> Core
    Presentation --> Domain

    Domain --> Core
Loading

@opficdev opficdev self-assigned this May 18, 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

이번 풀 리퀘스트는 WidgetTodoSnapshot을 DevLogCore로 이동하고 위젯 동기화 로직을 재구성하여 모듈 간 의존성을 정리합니다. 리뷰를 통해 WidgetTodoSnapshot에 Sendable 프로토콜을 채택하여 동시성 안전성을 확보하고, number 프로퍼티를 도메인 모델에 맞춰 비옵셔널로 변경하여 데이터 일관성을 높일 것을 권장했습니다.

Comment thread Application/DevLogCore/Sources/WidgetTodoSnapshot.swift Outdated
Comment thread Application/DevLogCore/Sources/WidgetTodoSnapshot.swift
Comment thread Application/DevLogCore/Sources/WidgetTodoSnapshot.swift
@opficdev opficdev merged commit 1b66ca4 into develop May 18, 2026
1 check passed
@opficdev opficdev deleted the fix/#468-WidgetCore branch May 18, 2026 02:32
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.

WidgetCore 레이어에서 Domain 레이어 의존성을 제거한다

1 participant