등장 배경

fulx 패턴은 기존 MVC 패턴의 한계점 때문에 등장하게 되었습니다. MVC 패턴에는 Model과 View가 양방향 패턴에서 나오는 의존성을 가진다는 특성이 있습니다. 이는 복잡한 어플리케이션을 서비스하게 됩니다. 새로운 기능이 추가 될 때마다 시스템의 복잡도를 기하급수적으로 증가 시키고, 예측 불가능한 코드를 만들게 되며 예측 못할 버그들이 쏟아지게 됩니다. 그래서 이를 벗어나고자 단방향 데이터 흐름의 패턴인 flux가 등장하게 됩니다.

개념

Flux의 가장 큰 특징은 단방향 데이터 흐름입니다. 흐름은 항상 Dispatcher에서 Store로 Store에서 View로, View는 Action을 통해 다시 Dispatcher로 데이터가 흐릅니다. 이러한 단방향 데이터 흐름을 이용하면 데이터의 변화를 예측 하기 쉽게 만들게 됩니다.

Untitled

Action


Action이란 데이터를 변경하는 행위로서 Dispatcher에게 전달되는 객체를 말합니다.

Dispatcher에서 콜백함수가 실행되면 Store가 업데이트 되는데 이때 데이터가 담겨있는 객체를 인수로 전달합니다. 이때 전달 되는 객체를 Action이라고 합니다.

Dispatcher


Dispatcher는 데이터의 흐름을 관리하는 허브 역할입니다. Action이 발생되면 Dispatcher로 전달되며 Dispatcher는 전달된 Action을 보고, 등록된 콜백을 실행하여 Stroe에 데이터를 전달하게 됩니다.

Store(Model)


Store는 상태 저장소로서 상태와 상태를 변경할 수 있는 메서드를 가지고 있습니다.

View