[Compose]Unidirectional Data Flow

KSang·2024년 4월 25일
0

TIL

목록 보기
91/101

Unidirectional Data Flow: Jetpack Compose의 핵심 아키텍처 패턴

Unidirectional Data Flow는 Jetpack Compose에서 사용되는 기본적인 아키텍처 패턴으로, 데이터가 단일 방향으로 흐르는 특징을 갖는다. 이 패턴은 상태와 이벤트의 단방향 흐름을 중심으로 구성되어 있다.

주요 특징

  • 상태는 최상위 컴포저블에서 하위 컴포저블로 전파된다.
  • 이벤트는 하위 컴포저블에서 최상위 컴포저블로 전파된다.

이러한 데이터와 이벤트의 단방향 흐름은 이 아키텍처 패턴의 중요한 특징으로, 여러 가지 장점을 제공한다.

장점
1. 상태와 이벤트의 분리로 인해 각 구성 요소를 독립적으로 테스트할 수 있는 테스트 용이성이 향상된다.
2. 상태의 중앙 집중화 관리로 Single Source of Truth (SSOT)를 구현할 수 있으며, 관찰 가능한 상태 보유자(StateFlow, LiveData 등)의 사용으로 UI에서 상태 변경이 즉시 반영된다.

상태 관리
Jetpack Compose에서의 상태 관리는 State 객체를 사용하여 애플리케이션 상태를 관리하며, 상태 변경은 recomposition을 트리거하여 UI를 업데이트한다. 또한, remember 및 rememberSaveable 함수를 사용하여 상태를 유지한다.

결론
Jetpack Compose는 상태가 위에서 아래로, 이벤트가 아래에서 위로 흐르는 Unidirectional Data Flow 패턴을 채택한다. 이러한 아키텍처 접근 방식은 테스트 용이성, 상태 캡슐화, UI 일관성과 같은 이점을 제공한다. Jetpack Compose에서의 상태 관리는 State 객체 및 remember, rememberSaveable 함수를 통해 이루어지며, 이는 양방향 데이터 바인딩의 개념과는 다르다.

1개의 댓글

comment-user-thumbnail
2024년 9월 23일

What is the role of the remember and rememberSaveable functions in maintaining Block Blast state in Jetpack Compose?

답글 달기