Top Banner
Flux Application Architecture 2015/01/13 ALT#0x03
14

Flux Application Architecture

Jul 16, 2015

Download

Technology

Yuta Hiroto
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Flux Application Architecture

Flux Application Architecture

2015/01/13 ALT#0x03

Page 2: Flux Application Architecture

Fluxアーキテクチャというのをご存知ですか?

Page 3: Flux Application Architecture

Flux アーキテクチャ

Facebookが提唱しているReact向けのアーキテクチャ

データフローの単方向化を促すシステム

- React -ユーザインタフェースを構築する為の JavaScriptライブラリ Virtual DOMを提供する

Page 4: Flux Application Architecture

なぜ提唱されたのか

Facebook氏

MVCはすぐに複雑化してしまう 複雑度は指数関数的に増大してしまうそしてコードは『壊れやすくて予測不能な』 ものになってしまう

もっと予測可能な形でコードを構造化しよう

Page 5: Flux Application Architecture

本質

API

Action

Dispatcher

Store

View

Page 6: Flux Application Architecture

本質

API

Action

Dispatcher

Store

View

外部と通信する場所 Dispatcherのメッセージ発行処理 入力されたデータをStoreにいれる

Action

Page 7: Flux Application Architecture

本質

API

Action

Dispatcher

Store

View

シングルトン ビジネスロジックを持たない

Dispatcher != Controller(MVC) Store内のコールバックの登録場所

Storeにメッセージを発行する

Dispatcher

Page 8: Flux Application Architecture

本質

API

Action

Dispatcher

Store

View

シングルトン アプリケーションの状態 とロジックの管理をする

多数のオブジェクトの状態を管理

Store

Page 9: Flux Application Architecture

本質

API

Action

Dispatcher

Store

View

ユーザーからの入力と Storeから状態情報を受け取り

描画をする 複数のインスタンスを生成可能

View

Page 10: Flux Application Architecture

MVCとの違い

observerパターンは同じ

データの流れが一方通行

ドメインロジック部分がシングルトン

Page 11: Flux Application Architecture

MVCも一方通行なんだよなぁ。。。

Page 12: Flux Application Architecture

何がすごいの?

ベストプラクティス的なパターンに名前をつけて共通言語としたところです。

たぶん「誰もが一度は似たような事をやったことがある」と思うが、従来は個々人がそれぞれ別の言葉で呼んでおり、意思疎通の上で面倒くさかった

Fluxアーキテクチャの覚え書きを書いた から引用

Page 13: Flux Application Architecture

つまり ただのobserverパターン

Page 14: Flux Application Architecture

参考資料

Flux Application Architecturehttp://facebook.github.io/flux/docs/overview.html

Facebook の決断:MVCはスケールしない。ならば Flux だ。http://www.infoq.com/jp/news/2014/05/facebook-mvc-flux

Fluxアーキテクチャ覚え書きhttp://saneyukis.hatenablog.com/entry/2014/09/26/174750