web-dev-qa-db-ja.com

Reduxの原則をOO言語に適用することは理にかなっていますか?

Reduxは本質的に関数型プログラミングであり、それは非常に理にかなっています。別のプロジェクトの非Javascript OOP言語に戻ると、単一の状態オブジェクト、その状態の一部に作用するレデューサー、ビジネスレイヤーなどの同じ原則を適用したいと思います状態を変更するセマンティックアクションの。

私のプロジェクトはC++であり、アプリケーションを設計するために、機能的で冗長なスタイルのアプローチを適用してみることが理にかなっているかどうかを知りたいです。このアプリではパフォーマンスはそれほど重要ではありませんが、保守性は重要です。

このようにアプリを設計する際に直面する困難は何ですか?


これはGUIアプリではないことを付け加えておきます。さらに考えてみると、アプリケーションの状態の更新による直接的な視覚的効果がないため、非GUIアプリケーションでのreduxの利点が減少している可能性があります。

9
tt9

関数型のプログラミングスタイルは、適切な考え方を持っていれば、どこでも再利用できる傾向があります。パラダイムクロス言語を適用する一般的な考え方は、Steve McConnellがCode Completeで「言語へのプログラミング」と呼んでいるものです。私は主に、クロスランゲージとパラダイムで学んだ教訓を適用したいという願望は、その言語を表現媒体として見ている人の印であることを指摘したかったのです。多くの開発者がこの点に達していないのは驚くべきことです。

ご指摘のとおり、Reduxの哲学はUI開発を対象としています。状態のデルタ追跡が非UI環境で役立つシナリオが多すぎると想像することは困難です。それは本当にあなたの問題次第です。アプローチによってソリューション全体の理解と保守が容易になれば、それはおそらく良いソリューションです。 Reduxが採用する一般的なアプローチは、ほとんどのRDBMSのトランザクションジャーナルによく似ているため、JavaScriptの前にこのアプローチが存在していたことは事実です。

5
Michael