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