Доменное программирование и события - PullRequest
5 голосов
/ 05 декабря 2010

Я делаю некоторые asp.net MVC кодирования с использованием DDD.У меня есть объекты, представляющие бизнес-объекты и сервисные репозитории, которые обрабатывают выборку и добавление их.Я новичок в этом, и по мере роста моего приложения я начинаю видеть много вторичного кода, который должен запускаться в результате добавления, удаления или изменения моих объектов / данных домена.

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

Как вы кодировали свои приложения для обработки этих ситуаций?Как я могу установить надежную и согласованную ОО систему для моей проблемы?Я уже знаю о событиях и делегатах, но меня больше интересуют методы кодирования и хорошие практики.

1 Ответ

8 голосов
/ 07 декабря 2010

Вещи, которые вы, возможно, захотите проверить, это так называемые доменные события .По сути, идея состоит в том, что сама доменная модель запускает специфичные для домена события (например, CustomerRegistered) и почти все, что вам нравится, вы можете подписаться на них, чтобы делать дополнительные вещи вне домена.

Уди Даан написал несколько хороших статей на эту тему: 1-й , 2-й , 3-й .

Также - пример приложения от Szymon довольно объяснителен для этого.

CQRS великолепен, но влияет на всю архитектуру.Может быть излишним.

...