open atlas

architecture-patterns

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

Как структурировать приложение, чтобы оно переживало изменения — связность и зацепление, направление зависимостей, гексагональная и чистая архитектура, DDD, CQRS, event sourcing и декомпозиция монолита без превращения в распределённый монолит.

12 юнитов·36 уроков·~14 ч

Начать трек
00

Начни отсюда

Что такое архитектура на самом деле и рамка — пригодность под силы — с которой подходишь к любому структурному решению.
01

Связанность и зацепление

Две силы, между которыми торгуется любое структурное решение: как части зависят друг от друга и насколько сфокусирована каждая часть.
02

Направление зависимостей

Кому позволено знать о ком — правило зависимостей и как его инвертировать, когда оно направлено не туда.
03

Слоистая архитектура

N-уровневый дефолт, с которого начинают все, почему он разумен и где именно протекает.
04

Гексагональная архитектура

Порты и адаптеры: инвертируй границу, чтобы домен владел контрактом, а внешний мир подключался к нему.
05

Чистая и луковичная архитектура

Концентрическое правило зависимостей, интеракторы сценариев и ядро сущностей — и налог на шаблонный код, который оно берёт.
06

Domain-driven design

Моделируй бизнес так, чтобы модель и была архитектурой: ограниченные контексты, единый язык, агрегаты и стратегическая карта.
07

CQRS

Раздели модель записи и модель чтения — что это даёт, чего стоит и когда такое разделение избыточно.
08

Event sourcing

Журнал событий как источник истины — состояние как свёртка событий — и ловушки, которые с этим приходят.
09

Событийно-ориентированная архитектура

Структурирование системы вокруг произошедших событий: хореография против оркестрации, саги и согласованность в конечном счёте как осознанный выбор.
10

Декомпозиция

Одно приложение или много и как перейти от одного к другому, случайно не построив распределённый монолит.
11

Эволюция и решения

Архитектура — это глагол: ADR, фитнес-функции и обоснованный анализ трейдоффов, которые меняют её осознанно.

Проекты по этому треку

Guided-проекты, которые закрепляют изученное здесь.

Следующий трек

Паттерны и качество кода

Код читают намного чаще, чем пишут. Освой ремесло, которое держит код изменяемым — именование, SOLID, запахи кода и безопасный рефакторинг — и научись понимать, когда абстракция оправдывает себя.