2016-10-06 6 views
2

私はOOPの背景から来て、私はReduxを学んでいます。 Reduxについてもっと学ぶほど、もっと機能的な構造を採用することでOOPのパラダイムとどのように対比しているのかがわかります。ReduxはOOPを使用しないことを私に要求していますか?

私はバックボーンを使ったことがない、と述べたが、私はバックボーンモデルからの移行に関するReduxのドキュメントでこの出くわし:

バックボーンのモデル層が再来とは全く異なっているので、我々は示唆していないがそれらを混合する。可能ならば、それはあなたが代わりにReduxのにバックボーンを接続するのでゼロからのアプリのモデルレイヤを書き換えることが最善です...

出典: https://github.com/reactjs/redux/blob/master/docs/recipes/MigratingToRedux.md#from-backbone

また、私は当初、これは単に読むことが見つかりました:

申し訳ありません、あなたはモデルレイヤーを書き直す必要があります。 それはあまりにも異なっている!

出典:https://github.com/reactjs/redux/commit/fbe0852a25d4bf9819adfe95fef6aa6702658c07#diff-a7be1d864910aa327225143859006953R30すっごく

...ダンは、(バックボーンからのものなど)のモデルは、自然とReduxの中OOは、より機能的なパラダイムに規定されているので、あなたのモデル層を書き換えるために言っていますか?

+0

バックボーンのモデルとReduxは完全に異なるパターンを使用していますが、互換性がないようです(しかし、私はreduxを使ったことがないので確信が持てません) –

答えて

3

はい、いいえ。モデルではなく、州のPOJOにデータを書き換える必要があります。彼らはモデルのように見えることがありますし、彼らは間違いなくオブジェクトですが、メソッドを持つことはできません。まあ、技術的には問題があるかもしれませんが、状態は直列化可能でなければならないので、落胆します。

標準のReduxアクション作成者/アクション/ディスパッチ/コードの代わりにモデルを使用できるようにするために、私はアクションをディスパッチするのが好きで、データに自分のコードを付けたいから、wrote a library減速パラダイム。フードの下では、それは100%Reduxですが、Dev APIはすべてOOPです。これにより、ReduxのメリットとすべてのOOPのメリットが得られます。あなたは、あなたが発声した懸念のいくつかを軽減することができるかもしれません。

しかし、モデルレイヤーを書き換える必要があります。

+0

ありがとう。 Flux/Reduxパターンは、貧血ドメインモデルに最も適していると言われるようです。それは正確ですか? –

+0

私は「はい」と言います。私はその用語が本当に当てはまるとは思っていません。私はそれをよく知っているとは言えません。しかし、Reduxは関数型プログラミングスタイルに基づいています。私の理解から、ADMは、トランザクション性を追加するための環境に適用されます。 Reduxは、アクションが完了するか効果がないという意味でトランザクション的ですが、機能的なものに基づいています。 – DDS

+0

私はこれを発見しました。これも関連しています: http://stackoverflow.com/a/32922984/6439734 –

関連する問題