Когда использовать доменное событие против двойной отправки - PullRequest
7 голосов
/ 01 февраля 2011

Меня смущает, когда использовать доменные события, а когда использовать двойную диспетчеризацию. Udi рекомендует нам использовать доменные события для поддержания инкапсуляции модели и вдали от анемичного дизайна, но, по моему мнению, доменные события могут использоваться только после того, как операция была выполнена или завершена внезапно, а не в то время, когда операция выполняется. 1001 *

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

Скажите, пожалуйста, приведенные выше утверждения действительны или нет?

1 Ответ

6 голосов
/ 13 марта 2011

Было довольно много разговоров об этом .

Я лично согласен с Szymon Pobiega :

Мое собственное правилоиспользование доменных событий (как описано в Udi) в качестве предпочтительного способа IoC, когда взаимодействие может быть сделано односторонним.Если это невозможно, я использую двойную диспетчеризацию.


Например: - при решении некоторой бизнес-логики мне нужно получить доступ к хранилищу, а затем, основываясь на значении, я могу повыситьсобытия домена.

Ваш сводный корень должен содержать все необходимое для выполнения операции.Там не должно быть необходимости в хранилище при выполнении чего-либо.Совокупный корень рисует транзакционные границы.

...