Архитектура: простая CQS - PullRequest
       12

Архитектура: простая CQS

13 голосов
/ 02 августа 2011

Я думаю о применении CQS для моего веб-сайта ASP.NET MVC, но это очень простой вопрос. Я не имею в виду CQRS, потому что я хочу использовать один и тот же источник данных для частей запросов и команд, и поэтому мне не нужны источники событий и другие более сложные шаблоны.

Итак, я имею в виду:

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

Главное, чего я хочу достичь:

  • простых команд, которые выполняются односторонними сервисными операциями и обрабатываются моделью расширенного домена, клиент должен передавать только те данные, которые действительно необходимы для выполнения команды
  • гибкий запрос к простым представлениям, разработанный для конкретного пользовательского интерфейса клиента

Имеет ли это смысл?

1 Ответ

9 голосов
/ 03 августа 2011

Итак, чтобы ответить на ваш вопрос, да, я думаю, что это имеет смысл.

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

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

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

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

Я не уверен, что ответил на ваш вопрос или помог, но удачи в вашем проекте!Надеюсь, это поможет.

...