Я собираюсь начать проект моделирования / моделирования. Я уже знаю, что ООП используется для такого рода проектов. Однако изучение Haskell заставило меня задуматься об использовании парадигмы FP для моделирования системы компонентов. Позвольте мне уточнить:
Допустим, у меня есть компонент типа A, характеризуемый набором данных (такой параметр, как температура или давление, PDE и некоторые граничные условия и т. Д.), И компонент типа B, характеризующийся другим набором данных (отличающимся или один и тот же параметр, разные PDE и граничные условия). Предположим также, что функции / методы, которые будут применяться к каждому компоненту, одинаковы (например, метод Галеркина). Изменчивое состояние объекта будет использоваться для непостоянных параметров.
Если бы я использовал подход ООП, я бы создал два объекта, которые будут инкапсулировать данные каждого типа, методы для решения PDE (здесь будет использоваться наследование для повторного использования кода) и решение для PDE.
С другой стороны, если бы я использовал подход FP, каждый компонент был бы разбит на части данных и функции, которые воздействовали бы на данные, чтобы получить решение для PDE. Непостоянные параметры будут передаваться как функции чего-то другого (например, времени) или выражаться некоторой изменчивостью (эмуляция изменчивости и т. Д.). Этот подход мне кажется более простым, если предположить, что линейные операции с данными будут тривиальными.
В заключение, будет ли реализация подхода FP на самом деле проще и проще в управлении (добавить компонент другого типа или новый метод для решения pde) по сравнению с ООП?
Я родом из C ++ / Fortran, плюс я не профессиональный программист, поэтому поправьте меня во всем, что я ошибся.