Я збираюся розпочати проект моделювання / моделювання. Я вже знаю, що OOP використовується для подібних проектів. Однак вивчення Haskell змусило мене розглянути можливість використання парадигми FP для моделювання системи компонентів. Дозвольте мені детальніше:
Скажімо, у мене є компонент типу A, який характеризується набором даних (такий параметр, як температура чи тиск, PDE та деякі граничні умови тощо) та компонент типу B, який характеризується різним набором даних (різними або той же параметр, різні PDE та граничні умови). Припустимо також, що функції / методи, які будуть застосовані до кожного компонента, однакові (наприклад, метод Галеркіна). Змінний стан об'єкта буде використовуватися для непостійних параметрів.
Якби я використовував підхід OOP, я створив би два об'єкти, які інкапсулювали б дані кожного типу, методи вирішення PDE (спадкування буде використано тут для повторного використання коду) та рішення для PDE.
З іншого боку, якби я використовував FP-підхід, кожен компонент був би розбитий на частини даних та функції, які діятимуть на дані, щоб отримати рішення для PDE. Нестабільні параметри передаються як функції чогось іншого (наприклад, час) або виражаються якоюсь мінливістю (емуляція змінності тощо). Цей підхід мені здається більш простим, якщо припустити, що лінійні операції над даними були б тривіальними.
На закінчення, чи було б реалізація підходу FP насправді простішою та простішою в управлінні (додати інший тип компонента чи новий метод вирішення pde) порівняно з OOP?
Я походжу з C ++ / Fortran, плюс я не професійний програміст, тому виправте мене з усього, що я помилився.