Подтвердить что ты не робот

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

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

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

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

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

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

Это имеет смысл?

4b9b3361

Ответ 1

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

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

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

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

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

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