Архитектурные паттерны
21 сентября 2019
На форуме в очередной раз всплыл двоякий вопрос «всё ли я правильно делаю». Как и всегда, этот вопрос может подразумевать много чего, но так как был замешан архитектурный паттерн, то я не удержался напомнить про паттерны в общем.
Архитектурные паттерны вроде clean architecture или hexagonal architecture мало чем отличаются от привычных паттернов проектирования в плане их применения. Как и с паттернами с свойственной им стадией «паттернизма», с архитектурными паттернами случается ровно то же. Практически все в определённый момент читают про очередной модный паттерн и начинают его бездумно применять. Не потому что он решает их конкретные проблемы, а потому что модно и «правильно».
Применять любой паттерн без должного анализа решаемой проблемы вредно.
В идеале должен происходить следующий процесс:
- Анализ решаемой проблемы.
- Выделение мест, которые должны быть гибкими.
- Выделение болей. Поиск паттернов, которые могут их решить или изобретение решений (это часто не хуже).
- Повторный анализ решения, которое получится. Можно ли проще?
Комментарии RSS по email OK
О, а вот и на хабре в тему «Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен».
Александр, полностью поддерживаю. И именно поэтому я испытал боль, когда увидел hello-world на Yii3 :) Я большой поклонник Yii2, надеюсь на Yii3
Порой смотрю, что на форуме пишут и диву даюсь. Например у Елисеева каким-то образом появились "структуры" в PHP. Но ещё забавнее, что с самим понятием "структур" из языков, где они есть, по всей видимости, не знаком. DDD и прочая лабудень не более, чем новомодные фичи, взятые из других ЯП, где их реально можно реализовать. DDD не для PHP, если готовить по канонам. Таков уж PHP. А вообще, говоря о слоях и т.п. - для 99% проектов - это всего-лишь неоправданное переусложнение. 99% проектов представляют из себя "написал и забыл". Мы начали ругать монолиты за связанность, но про то, что монолиты давали нам простоту - об этом начали сильно забывать. И теперь у нас паттерны ради того, что бы они были. Так и живём.