私は関数型プログラミング(JavaScriptとNode.jsを使用)を開始しましたが、見た目からは、作成しているコードは、オブジェクト指向のパラダイムの一種。
OOPを使用すると、コードを簡単に管理し、拡張可能にするためのプラクティスに精通しています。しかし、関数型プログラミングでも同様の慣習があるのは確かです。
私は関数型プログラミング(JavaScriptとNode.jsを使用)を開始しましたが、見た目からは、作成しているコードは、オブジェクト指向のパラダイムの一種。
OOPを使用すると、コードを簡単に管理し、拡張可能にするためのプラクティスに精通しています。しかし、関数型プログラミングでも同様の慣習があるのは確かです。
回答:
実際には、大規模な機能コードベースを何らかの構造システムに分割する必要があります。OOPに慣れている場合、クラスは自然な構造化要素のままです。「機能的なオブジェクト」を目指して努力します。概念的に関連する機能は、クラスにまとめられます。もちろん、非会話型の状態とインスタンス変数への依存を避けます。
構造を超えて、機能の世界では拡張、保守性、一般化のために好まれている、部分関数アプリケーションなどの特定の手法があります。ただし、ハイブリッド機能/オブジェクトモードで作業する場合、これらの機会を認識することは困難です。個人的には、ハイブリッドモードで作業することをお勧めしますが、Haskellが提供する環境など、より純粋な環境で学習してプレイすることをお勧めします。