シミュレーション/モデリングプロジェクトを開始しようとしています。OOPがこの種のプロジェクトに使用されていることは既に知っています。しかし、Haskellを勉強することで、コンポーネントのシステムのモデリングにFPパラダイムを使用することを検討しました。詳しく説明します。
データセット(温度や圧力、PDE、境界条件などのパラメーター)で特徴付けられるタイプAのコンポーネントと、異なるデータセット(異なるまたは同じパラメーター、異なるPDEおよび境界条件)。また、各コンポーネントに適用される関数/メソッドが同じであると仮定しましょう(たとえば、Galerkinメソッド)。オブジェクトの可変状態は、定数でないパラメーターに使用されます。
OOPアプローチを使用する場合、各タイプのデータをカプセル化する2つのオブジェクト、PDEを解決するメソッド(ここではコードの再利用に継承が使用されます)、およびPDEのソリューションを作成します。
一方、FPアプローチを使用する場合、各コンポーネントは、PDEのソリューションを取得するためにデータパーツとデータに作用する関数に分割されます。非定数パラメーターは、他の何かの関数として渡されるか(たとえば、時間)、ある種の可変性(可変性のエミュレーションなど)で表現されます。
結論として、FPアプローチの実装は、OOPアプローチと比較して、実際にはシンプルで管理しやすい(pdeを解決するために異なるタイプのコンポーネントまたは新しいメソッドを追加する)でしょうか?
私はC ++ / Fortranのバックグラウンドを持っていますが、プロのプログラマーではないので、間違いがあれば修正してください。