-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
내용
기존의 이벤트 기반(EmotionChangeEvent) 감정 데이터 갱신 방식은 데이터 정합성 유지가 어렵고 각 ViewModel에서 수동으로 데이터를 다시 불러와야 하는 구조적 한계가 있습니다. 이를 StateFlow 기반의 반응형 데이터 스트림으로 개선하여 데이터의 신뢰성을 높이고 아키텍처를 단순화합니다.
작업 상세 내용
-
EmotionRepository내StateFlow기반dailyEmotionFlow도입 -
DailyEmotion도메인 모델에fetchedDate및isStale속성 추가 (캐시 유효성 검사) -
EmotionRepositoryImpl에서onSubscription을 통한 자동 데이터 로드 구현 - 중복 호출 방지:
AtomicBoolean또는Mutex를 활용한 동시성 제어 로직 적용 - 기존
EmotionChangeEvent및 관련 유스케이스(FetchDailyEmotionUseCase등) 제거 -
HomeViewModel,RecommendRoutineViewModel에서ObserveDailyEmotionUseCase로 전환
기대 효과
- 실시간 데이터 동기화: 감정 등록 시 구독 중인 모든 화면에 즉각적으로 데이터 반영
- 네트워크 최적화:
isStale체크 및 중복 호출 방지 로직을 통한 불필요한 API 요청 감소 - 유지보수성 향상: 이벤트 중심에서 데이터 스트림 중심으로 전환하여 데이터 흐름 추적 용이
Reactions are currently unavailable