CQRS / Структура проекта по организации мероприятий - PullRequest
2 голосов
/ 26 января 2012

У меня есть мой первый проект CQRS, в котором используется источник событий, и мне было интересно, должен ли этот тип проекта структурироваться в Visual Studio по-другому, по сравнению с другими проектами, включающими несколько уровней?

Например, в созданных прошлых проектах были такие слои, как Remoting, службы приложений, домен и т. Д., И было ясно, что каждый слой / сборка касался слоя, расположенного ниже. Эти сборки, казалось, много сделали, и использование такого инструмента, как NDepend, многое сказало о структуре проекта.

Однако в проекте CQRS было бы лучше иметь небольшие сборки, которые показывают свое намерение, то есть сборку для команд, другую для событий, другую для обработчиков событий и т. Д.

Теперь с NDepend мне лучше понять, как используются сборки.

ТИА

JD

1 Ответ

3 голосов
/ 26 января 2012

Я обычно структурирую свои проекты CQRS с небольшими проектами, описывающими их намерения - Команда, Домен, Событие, Денормализатор, Репозиторий, Служба команд и т. Д.

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

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

У вас будет (возможно) больше проектов, но они будут меньше по размеру, и их будет намного легче понять их назначение. Вроде как Принцип Единой Ответственности, но на уровне проекта.

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

...