Критика патернів

Патерни були описані більше 20-ти років тому, тому тільки ледачий не встиг кинути в них камінь. Давайте розглянемо найпопулярнішу критику.

Розпорки для слабкої мови програмування

Потреба в патернах з'являється тоді, коли люди вибирають для свого проекту мову програмування з недостатнім рівнем абстракції. В цьому випадку, патерни — це розпорки, які надають цій мові суперздібності.

Наприклад, патерн Стратегія в сучасних мовах можна реалізувати простою анонімною (лямбда) функцією.

Неефективні рішення

Патерни намагаються стандартизувати підходи, які й так вже широко використовуються. Така стандартизація здається деяким людям догмою і вони починають усюди реалізовувати патерни «як в книжці», не пристосовуючи їх до реалій проекту.

Невиправдане застосування

Якщо у тебе в руках молоток, то всі предмети навколо починають нагадувати цвяхи.

Схожа проблема виникає у новачків, які тільки-но познайомилися з патернами. Вникнувши в патерни, людина намагається застосувати свої знання всюди. Навіть там, де можна було б обійтися більш простим кодом.