212 похожих чатов

Вопрос постигающего DDD... Куда помещаются объекты событий DDD, которые должны

обеспечивать коммуникацию между разными bounded контекстами?

Например есть 2 гипотетических контекста Orders и Payments. В контексте модуля Orders должно выкинуться событие OrderCreated. Модуль Payment должен как-то на это событие отреагировать, допустим выставить счет. Само событие OrderCreated относится к Orders и по идее должно быть как класс располагаться там. Но чтобы отреагировать модуль Payments должен знать о существовании этого события, и собственно получается coupling.

Или должна быть какая-то централизованная штука, которая знает про все контексты одновременно и переводит пойманные события одного контекста в команды другого контекста...

Короче каша в голове, может посоветуете что-то почитать или посмотреть?

1 ответов

7 просмотров

Можно централизовать контракты, особенно если речь идёт о ивентах. Например можно держать отдельный репозиторий с контрактами описанными на каком pact.io или asyncapi. Ты будешь этими контрактами свои штуки тестить а другие на основе оных заглушки поднимут

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

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
70
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
GridView fully ignored first parent(SizedBox), and take width from second parent(Container). How can I constrain GridView by first parent? Widget build(BuildContext context) {...
Hamster
1
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Hey there Which is the best Linux destro for developers (coding)? To my research on reddit, they said Linux mint is good for mid level spec and Ubuntu for high Lev hardwar...
Wiz 🪄
11
Карта сайта