Критика патернів
Патерни були описані більше 20-ти років тому, тому тільки ледачий не встиг кинути в них камінь. Давайте розглянемо найпопулярнішу критику.
Розпорки для слабкої мови програмування
Потреба в патернах з’являється тоді, коли люди вибирають для свого проекту мову програмування з недостатнім рівнем абстракції. В цьому випадку, патерни — це розпорки, які надають цій мові суперздібності.
Наприклад, патерн Стратегія в сучасних мовах можна реалізувати простою анонімною (лямбда) функцією.
Неефективні рішення
Патерни намагаються стандартизувати підходи, які й так вже широко використовуються. Така стандартизація здається деяким людям догмою і вони починають усюди реалізовувати патерни «як в книжці», не пристосовуючи їх до реалій проекту.
Невиправдане застосування
Якщо у тебе в руках молоток, то всі предмети навколо починають нагадувати цвяхи.
Схожа проблема виникає у новачків, які тільки-но познайомилися з патернами. Вникнувши в патерни, людина намагається застосувати свої знання всюди. Навіть там, де можна було б обійтися більш простим кодом.