Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Денис Полторак. Architectural Metapatterns

denyspoltorak.medium.com

Book Architectural Metapatterns

Architectural Metapatterns (about this book)

WEB версия книги Architectural Metapatterns

github.com/denyspoltorak/metapatterns

Все архитектурные диаграммы на этой странице заимствованы из книги Architectural Metapatterns автора Дениса Полторака (metapatterns.io) и распространяются по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).


Для глубокого понимания предметной области достаточно освоить ключевые архитектурные стили (монолит, микросервисы, событийно-ориентированная и многослойная архитектура) и фундаментальные концепции (слабая связанность, высокая связность, масштабируемость, отказоустойчивость). Паттерны выступают лишь готовыми инструментами для решения типовых задач, к которым обращаются по мере практической необходимости, а не обязательным сводом догм.

Диаграммы выполнены в формате NoUML (в виде прямоугольников и стрелок), и большинство из них относятся к одному из следующих типов:

you learn this

Компоненты на диаграммах окрашены в соответствии с типом содержащегося в них кода:

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

Ну чтиво для научного исследования ...


Ваша позиция абсолютно понятна и очень прагматична. Если вы работаете над реальными проектами, а не пишете диссертацию, академическая классификация и попытки загнать всё в теории действительно быстро начинают казаться бесполезной тратой времени.

Инженеру-практику архитектура ПО нужна только для того, чтобы решать конкретные прикладные задачи:

  • Система не падает при нагрузке.
  • Код легко менять и дополнять через полгода, не ломая соседние модули.
  • Команда не путается в том, куда положить новую логику.

Если «Architectural Metapatterns» ощущается как абстрактная классификация ради классификации, эту книгу смело можно отложить в сторону.

Что читать вместо теории для реальной пользы?

книги с прикладным уклоном:

  1. Марк Ричардс, Нил Форд — «Фундаментальные подходы к архитектуре программного обеспечения» (Fundamentals of Software Architecture) Максимально приземленная книга: рассматривает архитектурные стили с точки зрения компромиссов (trade-offs), стоимости решения, инфраструктуры и работы в команде.
  2. Алекс Сюй — «System Design. Подготовка к сложному интервью» (System Design Interview) Отличный наглядный разбор того, как проектировать конкретные сервисы (поисковики, чаты, хранилища) из готовых блоков.