Как реализовать CQS с в изменениях памяти?

Также нужно отметить, что First/FirstOrDefault/Single/SingleOrDefault являются точкой выполнения для LINQ к команде Sql. Так как оператор LINQ не был выполнен прежде, который, он в состоянии влиять на сгенерированный SQL (например, Он может добавить TOP 1 к команде sql)

6
задан FinnNk 29 August 2010 в 20:12
поделиться

6 ответов

Если вы действительно хотите использовать для этого CQS, я бы сказал, что и репозиторий запросов, и репозиторий записи имеют ссылку на одно и то же резервное хранилище. Обычно эта ссылка поступает через внешнюю базу данных, но в вашем случае это может быть List или аналогичный.

1
ответ дан 17 December 2019 в 18:17
поделиться

В памяти обычно используется шаблон проектирования Observer .

На самом деле, вы всегда хотите использовать этот шаблон, но большинство баз данных этого не делают.

0
ответ дан 17 December 2019 в 18:17
поделиться

Шаблон проектирования Единица работы из Шаблоны архитектуры корпоративных приложений очень хорошо соответствует CQS - это, по сути, большая команда, которая сохраняет данные в база данных.

0
ответ дан 17 December 2019 в 18:17
поделиться

Похоже, вам нужна более детальная команда.

НАПРИМЕР: пользователь взаимодействует с веб-страницей (скажем, оформление заказа с помощью корзины покупок).

Несколько страниц, получающих информацию, создают команду. Команда не отправляется до тех пор, пока пользователь на самом деле не проверит, где вся информация отправляется в одну команду в домен, назовем это командой «CheckOut».

Модели презентации весьма полезны абстрагирование этого типа взаимодействия.

Надеюсь, это поможет.

Грег

3
ответ дан 17 December 2019 в 18:17
поделиться

Также по остальным вопросам ...

Это больше касается конечной согласованности, а не CQRS. Вам не нужно в конечном итоге быть согласованным с CQRS, вы можете сделать так, чтобы обработка команды также записывалась в хранилище отчетов (или использовать одно и то же физическое хранилище для обоих, как упоминалось) согласованным образом. Я на самом деле рекомендую людям сделать это в качестве базовой архитектуры, а затем прийти к заключению и ввести возможную согласованность там, где это необходимо, поскольку с этим связаны затраты.

1
ответ дан 17 December 2019 в 18:17
поделиться

JdonFramework - это Java-фреймворк CQRS DDD, он предоставляет события домена + асинхронный шаблон, подробнее https://jdon.dev.java.net/

-2
ответ дан 17 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: