Архитектура: CQS, бизнес-логика - PullRequest
0 голосов
/ 08 апреля 2020

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

У меня есть пара вопросов:

  • Имеет ли смысл применять CQS без использования диспетчера команд / запросов как MediatR? Я имею в виду, я не хочу применять подход «сценарий использования / обработчик» для каждой модели. Я просто хочу использовать общие классы команд и запросов, такие как «MoviesCommandService», «MoviesQueryService».
  • Иногда у нас может быть бизнес-логика, отличная от операций CRUD, или нам нужно реализовать шаблоны, такие как шаблон стратегии. Например, мне нужно использовать несколько API mov ie в соответствии с бизнес-стратегией и некоторыми алгоритмами. Давайте предположим, что я реализовал шаблон разработки стратегии для использования этих API mov ie для разных поставщиков. Где эти реализации шаблонов стратегии должны иметь место? В частях Command или Query? И как я могу назвать это? Существуют ли какие-либо ограничения, когда вы используете подход обработчиков команд / запросов или подход с использованием сценариев, и вы не можете создавать обычные классы бизнес-сервисов?

Поскольку я думаю о создании интерфейса IMovieAPIStrategy и реализации его бетоны. Затем используйте этот интерфейс в любых обработчиках запросов или команд. Это правильный подход?

...