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

В паттерны не успели бросить камень только ленивые. Давайте рассмотрим самую популярную критику.

Костыль для слабого языка программирования

Нужда в паттернах появляется тогда, когда люди выбирают для своего проекта язык или технологию с недостаточным уровнем абстракции. В этом случае, паттерны — это костыль, который придаёт языку суперспособности.

Например, паттерн Стратегия(Strategy) в современных языках можно реализовать простой анонимной (лямбда) функцией.

Впервые эту точку зрения выразил Пол Грэм в эссе «Месть Ботанов».

Подробней об этой точке зрения – Wiki.

Приводят к неэффективным решениям

Паттерны пытаются стандартизировать подходы, которые и так уже широко используются.

Эта стандартизация кажется некоторым догмой и они реализуют паттерны «как в книжке», не приспосабливая паттерны к реалиям проекта.

Если у тебя в руках молоток, то все предметы вокруг начинают напоминать гвозди

Похожая проблема возникает у новичков, только-только познакомившихся с паттернами.

Вникнув в паттерны, человек пытается применить свои знания везде. Даже там, где можно было бы обойтись кодом попроще.