Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:cqrs [2016/12/21 09:28] – [Схема использования паттерна в компании] tbuldakova | mdd:cqrs [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== A Case Study of the Variability Consequences of the CQRS Pattern in Online Business Software ====== | ||
| + | Оригинал: | ||
| + | |||
| + | ==== Введение ==== | ||
| + | |||
| + | Зачастую реализация в одной системе всех сценариев использования клиентов проблематична в виду того, что разные клиенты могут выдвигать очень разные и даже противоречащие друг другу требования. Поэтому архитектура такой системы должна быть гибкой и легко адаптируемой под разных клиентов, | ||
| + | |||
| + | В таких случаях обычно логика системы разделяется на несколько уровней. Т.к. силу CAP-теоремы невозможно одновременно обеспечить согласованность данных, | ||
| + | | ||
| + | Схема, отображающая основной принцип паттерна. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Метод исследования ==== | ||
| + | |||
| + | Для данного исследования был произведен опрос в одной компании, | ||
| + | - Как CQRS паттерн применяется в рамках разработок компании? | ||
| + | - Какие дополнительные паттерны могут быть использованы вместе с CQRS? | ||
| + | - Как эти дополнительные паттерны влияют на гибкость системы? | ||
| + | |||
| + | ==== Схема использования паттерна в компании ==== | ||
| + | Следующая схема показывает реализацию этого паттерна для разрабатываемой в компании системы. | ||
| + | {{ : | ||
| + | |||
| + | ==== Дополнительные паттерны ==== | ||
| + | - Event Sourcing – подход к работе с данными в виде событий | ||
| + | - Event Store предполагает хранение последовательной истории событий, | ||
| + | - Agregation root – концепция хранения и обработки свойств, | ||
| + | - Command Handler – обработчик команд, | ||
| + | - Query Model Builder первично обрабатывает все события, | ||
| + | - Query Handler – обработчик запросов, | ||
| + | - Snapshotting – концепция для систем, | ||
| + | Данные паттерны не являются обязательными. | ||
| + | |||
| + | ==== Заключение ==== | ||
| + | Применение CQRS паттерна не сразу влиет на гибкость системы, | ||