<rmcreative>

RSS

Архитектурные паттерны

21 сентября

На форуме в очередной раз всплыл двоякий вопрос «всё ли я правильно делаю». Как и всегда, этот вопрос может подразумевать много чего, но так как был замешан архитектурный паттерн, то я не удержался напомнить про паттерны в общем.

Архитектурные паттерны вроде clean architecture или hexagonal architecture мало чем отличаются от привычных паттернов проектирования в плане их применения. Как и с паттернами с свойственной им стадией «паттернизма», с архитектурными паттернами случается ровно то же. Практически все в определённый момент читают про очередной модный паттерн и начинают его бездумно применять. Не потому что он решает их конкретные проблемы, а потому что модно и «правильно».

Применять любой паттерн без должного анализа решаемой проблемы вредно.

В идеале должен происходить следующий процесс:

  • Анализ решаемой проблемы.
  • Выделение мест, которые должны быть гибкими.
  • Выделение болей. Поиск паттернов, которые могут их решить или изобретение решений (это часто не хуже).
  • Повторный анализ решения, которое получится. Можно ли проще?

Комментарии RSS

  1. №11539
    Sam
    Sam 23 сент. 2019 г., 13:08:07
  2. №11540
    Дмитрий
    Дмитрий 24 сент. 2019 г., 10:45:16

    Александр, полностью поддерживаю. И именно поэтому я испытал боль, когда увидел hello-world на Yii3 :) Я большой поклонник Yii2, надеюсь на Yii3

  3. №11541
    BrusSENS
    BrusSENS 27 сент. 2019 г., 14:32:28

    Порой смотрю, что на форуме пишут и диву даюсь. Например у Елисеева каким-то образом появились "структуры" в PHP. Но ещё забавнее, что с самим понятием "структур" из языков, где они есть, по всей видимости, не знаком. DDD и прочая лабудень не более, чем новомодные фичи, взятые из других ЯП, где их реально можно реализовать. DDD не для PHP, если готовить по канонам. Таков уж PHP. А вообще, говоря о слоях и т.п. - для 99% проектов - это всего-лишь неоправданное переусложнение. 99% проектов представляют из себя "написал и забыл". Мы начали ругать монолиты за связанность, но про то, что монолиты давали нам простоту - об этом начали сильно забывать. И теперь у нас паттерны ради того, что бы они были. Так и живём.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.