К основному содержимому
все выпуски
Code of Architecture · выпуск 03

Learning Domain-Driven Design — глава 2, часть 2

1:00:21

Участники выпуска

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

Содержание

Что обсудили голосом

Третья встреча посвящена архитектурным паттернам и связи bounded contexts. Layered Architecture делит систему на presentation, application, business logic и data access. Она подходит простым subdomains с Transaction Script или Active Record, но зависимость домена от инфраструктуры мешает богатой domain model.

Ports and Adapters инвертирует зависимость: бизнес-логика объявляет порты, техника подключается адаптерами. Hexagonal, Onion и Clean Architecture считают формами этой идеи. CQRS разделяет консистентную command model и read projections, а event sourcing позволяет строить разные синхронные или асинхронные представления.

Архитектуру выбирают для каждого bounded context. Модель переводит потребитель через anti-corruption layer либо поставщик через open-host service и published language. Данные из нескольких источников собирает агрегатор, иногда со своим хранилищем; похожую задачу для клиента решает BFF.

Публикация domain events до или после коммита оставляет разные окна отказа. Transactional outbox сохраняет данные и событие вместе, затем публикует с семантикой at least once. Операцию через несколько агрегатов ведёт saga: линейную цепочку связывают события, а ветвящийся процесс с решениями становится process manager.

Серия по книге
Learning Domain-Driven Design
Vlad Khononov
Плейлист книги