Глосарій

CQRS

CQRS (Command Query Responsibility Segregation) — патерн розділення моделей читання і запису. Commands змінюють стан, Queries — читають його. Вони використовують різні моделі, а іноді й різні сховища.

Навіщо

Читання і запис мають різні вимоги: запити на читання — складні JOIN-и і агрегації; команди — транзакційна цілісність. Розділення дозволяє оптимізувати кожне незалежно.

Простий CQRS

Одна БД, але різні класи: CreateOrderCommand і OrderSummaryQuery. Мінімальна складність, але вже дає структуру.

Повний CQRS з Event Sourcing

Write-side зберігає події (Event Store), read-side будує денормалізовані проєкції зручні для читання. Висока складність, але повна аудит-трейл і можливість «перемотати» стан.

Застереження

CQRS додає складність. Виправданий у складних доменах з різним навантаженням на читання і запис. Для CRUD-застосунків — зайвий.