Skip to main content

Flux

웹 애플리케이션을 위해 facebook에 의해 개발된 아키텍처입니당!!

등장 이유

MVC 패턴의 복잡성과 데이터 흐름의 양방향성 문제를 해결하기 위해서 등장

핵심

  • Flux의 핵심은 단방향 흐름입니다.

구성 요소

  • Action
    • 사용자의 행동이나 시스템에서 발생하는 이벤트를 정의한 객체
    • 사용자가 버튼을 누르는 행동이 이에 해당합니다.
  • Dispatcher
    • 액션을 받아서 모든 Store에 전달하는 역할
    • Dispatcher는 애플리케이션 내에서 하나만 존재하며, 모든 데이터 흐름을 관리합니다.
  • Store
    • 애플리케이션 상태와 로직을 담당
    • Store는 Dispatcher로부터 액선을 받아 상태를 변경하고, 변경사항이 있을 때 View를 업데이트함
  • View
    • 사용자 인터페이스 담당
    • iOS에는 주로 UIView나 UIViewController가 View의 역할을 합니다.
    • Store를 통해서 상태 변화를 감지하고 화면을 업데이트합니다.

장점

  • Flux의 아키텍처를 적용하면 복잡한 상호작용과 더 잘 관리할 수 있습니다.
  • 컴포넌트 간의 의존성을 줄이고 앱의 확장성과 유지보수성을 향상합니다.