flux architecture

sangwoo noh·2022년 9월 19일
0

flux?

  • facebook(현 meta)에서 제안한 웹 어플리케이션 아키텍쳐 패턴이다.
  • 단방향 데이터 흐름?
  • 예측 가능한 상태관리?
  • 웹 어플리케이션 아키텍쳐?

디자인 패턴이라는것은 추상적인 컨셉이기에 실제로 구현시 해석의 여지에따라 구현의 방법이 다양하다. 딱 하나의 정형화된 방법론이 아니다.

mvc의 한계

action => controller => model <==> view
(model과 view는 양방향 데이터 흐름이 이루어진다.)

model(모델이 데이터로 뷰를 업데이트) => view(view가 UI 인터렉션과 같은 액션을 전달) => 
controller(controller는 액션을 받아 모델을 조작한다) => model => view => ...
가끔씩 controller가 view를 직접 업데이트 하는경우도 있다.
또한 view가 model을 직접 업데이트 하는 경우도 있다.
  • 따라서 모델 뷰 컨트롤러 세트가 3개만 되더라도 복잡도가 너무나 많이 증가하는 단점이 있다.

flux

  • dispatcher는 store를 변경시킨다.
  • store에 값이 변경되면 변경된 값을 view(react)에게 알려서 리렌더링이 일어나게 한다.
  • view에서 store의 상태를 변경하도록 요청하는 액션을 dipatcher에게 전달한다.
  • 다시 반복됨
    이와같이 데이터의 흐름이 단방향인 모델을 flux 아키텍쳐라고 한다.

profile
하기로 했으면 하자

0개의 댓글