Лично я, потратив несколько лет на выполнение ООП, обнаружил, что проблема с шаблонами проектирования заключается в том, что они действительно выделяют проблемы с ООП и то, как трудно видеть шаблоны в данных, которые так связаны с областью, в которойэто моделируется.Иногда очень трудно увидеть лес за деревьями.Некоторые артефакты в ООП просто существуют для того, чтобы излечить проблемы, возникающие при мышлении в этой конкретной парадигме или обходе инкапсулированного состояния и доступа.
Я думаю, что шаблоны проектирования великолепны, и я их использую, однако они были расценены как решение проблемы, которая может существовать в неспособности ООП быть объективными в отношении структур и функций данных, поэтому пытались ипроверенная формула может быть применена.Простым примером будет объект Singleton.Это просто исчезает при использовании функциональных языков и не является проблемой.
Как сказал один джентльмен из SO, когда я спросил о UML и можно ли его использовать для моделирования функциональных языков, он сказал, что язык моделирования функциональныхЯзыки программирования это математика.Я думаю, что это ключ к пониманию того, почему шаблоны не имеют отношения к функциональным языкам программирования, поскольку теория, лежащая в их основе, заложена в структурах математики.
Я не могу помочь вам с листом кроватки, ноЯ могу быть совершенно уверен, что шаблоны GOF не применимы к функциональным языкам программирования, поскольку они напрямую переходят к реальным шаблонам математики, поскольку красота функциональных языков заключается в том, что они напрямую (в большинстве случаев) отображаются на многие годы решения проблем.в математике.Возможно, нахальное утверждение состоит в том, что шаблоны проектирования функциональных языков - это математические теоремы с отношением один к одному, где ОО имеет форму искусственных абстракций, которые иногда мешают.
Я думаю, что есть некоторые принципы проектированиякоторые пересекаются со всеми языками, такими как MVC, многоуровневая архитектура, масштабирование и масштабирование.Но я бы сказал, что это не шаблоны проектирования, а скорее хорошие практики проектирования программного обеспечения.