Простий факт полягає в тому, що багато моделей OO вважатимуться ідіомами функціональних мов (особливо оригінальних моделей GoF). Наприклад, шаблон Iterator (вбудований до таких мов, як C # зараз) просто не потрібен у Lisp або ML, у яких є оператори послідовності.
Багато моделей, які ми використовуємо в системах OO, є для того, щоб допомогти нам вивести «несуттєві» речі, щоб ми могли зосередитись на об'єктах кодування. Іншими словами, шаблони - це рішення нецікавих частин програми. Ми повинні використовувати шаблони для вирішення загальних потреб, які були вирішені раніше (як, наприклад, шаблони в Fowlers Patterns of Enterprise Application Architecture для роботи з такими речами, як передача бази даних, або xUnit Patterns для підвищення рівня тестування вашого блоку), щоб ми могли зосередитись на додаванні вартості бізнесу. для застосування.
Я впевнений, що поза специфікою моделей GoF, є моделі дизайну, які будуть застосовні і до функціонального програмування. Вся справа в тому, що ОО є домінуючою парадигмою. Написання книги з малюнком, націленої на функціональних розробників ... відверто кажучи, від видавця не потрапить зелене світло. Ось до чого зводиться. Не вистачає ринку функціональних моделей, щоб мати значну кількість книг, присвячених цій темі.