Есть ли какое-либо преимущество при использовании паттернов ООП в их классическом описании против использования, скажем, приёмов функционального программирования.
Пример: паттерн "Стратегия" может быть легко преобразован (в большинстве случаев) в несколько функций, одна из которых принимает функцию как аргумент.
Мне видится преимущество только в том, что описание паттернами ООП дает более высокоуровневое представление о системе. В принципе, можно реализовать ту же идею другими средствами, но глядя на реализацию, не всякий программист поймет идею с первого взгляда.