Вопросы с тегом «cqrs»

Шаблон проектирования разделения ответственности по командам

2
Почему отдельный класс CommandHandler с Handle () вместо обработки метода в самой Command
У меня есть часть шаблона CQRS, реализованного с использованием S # arp Architecture, например: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return CommandResult.Success; } } …

3
Предполагается, что доменные объекты в доменно-управляемом дизайне предназначены только для записи?
Я читал о доменно-ориентированном дизайне почти два года и осторожно вводил некоторые концепции в свою повседневную работу или, по крайней мере, планировал, как то, что я регулярно делаю, можно сделать в доменно-управляемом дизайне. Один из выводов, к которому я начал приходить, особенно в ответ на прочтение более подробной информации об …

2
CQRS + Event Sourcing: (верно ли это) Команды обычно передаются точка-точка, в то время как события домена передаются через pub / sub?
Я в основном пытаюсь обернуть голову вокруг концепции CQRS и связанных понятий. Хотя CQRS не обязательно включает в себя Messaging и Event Sourcing, кажется, что это хорошая комбинация (как видно из множества примеров / блогов, объединяющих эти концепции) Учитывая вариант использования для изменения состояния чего-либо (скажем, для обновления Вопроса о …

2
CQRS без DDD и без (или с?) ES - что такое модель записи и что такое модель чтения?
Насколько я понимаю, основная идея CQRS - это две разные модели данных для обработки команд и запросов. Они называются «модель записи» и «модель чтения». Давайте рассмотрим пример клонирования приложения Twitter. Вот команды: Пользователи могут зарегистрироваться самостоятельно. CreateUserCommand(string username)излучаетUserCreatedEvent Пользователи могут подписаться на других пользователей. FollowUserCommand(int userAId, int userBId)излучаетUserFollowedEvent Пользователи могут …
11 cqrs  read-model 

1
Как команды Add / Create * должны обрабатываться в архитектуре CQRS + Event Sourcing
Я хочу реализовать свое первое приложение, используя шаблон CQRS вместе с Event Sourcing. Мне интересно, как с созданием совокупных корней нужно обращаться правильно. Допустим, кто-то отправляет команду CreateItem. Как это должно быть обработано? Где должно храниться событие ItemCreated? Как первое событие нового предмета? Или у меня должна быть какая-то сущность …

3
Как обрабатывать побочные эффекты в CRQS при воспроизведении событий?
Говорят, что в CQRS легко исправить ошибку, вы просто повторно развертываете и затем воспроизводите события. Но что, если одно из событий должно привести к тому, что внешняя система, не находящаяся под вашим контролем, «отправит товар» клиенту, если вы просто воспроизведите события, товар будет отправлен дважды. Как вы решаете это?

2
Как создать новый агрегатный корень в CQRS?
Как мы должны создавать новые агрегатные корни в архитектуре cqrs? В этом примере я хочу создать новый совокупный корневой AR2, который содержит ссылку на первый AR1. Я создаю AR2, используя метод AR1 в качестве отправной точки. Пока что вижу несколько вариантов: Внутри метода в AR1 createAr2RootOpt1я мог бы new AR2()немедленно …

3
Я должен пойти на компромисс: СУХОЙ или Command-Query-Separation?
Недавно я проводил рефакторинг метода, который был и командой, и методом запроса. Разделив его на один метод команды и один метод запроса, я обнаружил, что в коде теперь есть несколько мест, где я вызываю команду, а затем получаю значение из запроса, что выглядит как нарушение принципа СУХОЙ. Но если бы …

2
Командные обработчики и DDD
У меня есть приложение ASP.NET MVC, которое использует службу запросов для получения данных и службу команд для отправки команд. Мой вопрос о командной части. Если поступает запрос, служба команд использует диспетчер команд, который направит команду в назначенный ей обработчик команд. Этот обработчик команд сначала проверяет команду и, если все приемлемо, …

4
Где должен быть полностью инициализирован объект в CQRS + ES: в конструкторе или при применении первого события?
Похоже, что в сообществе ООП широко распространено мнение, что конструктор класса не должен оставлять объект частично или даже полностью неинициализированным. Что я имею в виду под «инициализацией»? Грубо говоря, атомарный процесс, который приводит вновь созданный объект в состояние, в котором содержатся все его классовые инварианты. Это должно быть первое, что …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.