Нет ничего проще, чем создать хорошую архитектуру для проекта. Вот только понятие “хорошая“ не всегда совпадает с общепринятыми стандартами, паттернами и прочими правилами разработки. Обычно работает одно правило: “сойдет и так“. Чем писать много букв, предлагаю посмотреть на видео, на котором я постарался по полочкам разложить необходимость использования подобного решения. И, конечно же, обосновав это как только мог, ссылаясь на свои опыт и практику. 00:00 | Приветствие и заставка 02:25 | Немного слайдов по теме 10:13 | Смотрим, что приготовлено в проекте 22:07 | Создание проекта с суффиксом Advanced 50:36 | Знакомство с проектом после рефакторинга 1:07:30 | Дополнительные материалы и заключение Создание Order По идеи требуется создать сущность Order использую какие-то проверки свойств. В случае успешного прохождения всех проверок сущность “сохраняется“ в базу данных. Обновление Order Следующий шаг, обновление статуса сущности Order. При проверки определенных свойств у сущности, также “сохраняем“ обновления в базу данных. События домена (Domain Events) В процессе проверок, требуется запустить соответствующие события (Domain Event). В случае регистрируем их в выходных данных, а дальше запускаем эти события через Mediatr. В этом проекте реализован простой, но при этом не менее работоспособный вариант реализации описанной выше логики. В этом проекте реализован уже более продвинутый способ реализации, которые дает полных контроль происходящего, но и кода придется написать немного больше. Благодарности и помощь каналу принимаются: Наши видео доступны и на Дзэн: Можно стать спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
Hide player controls
Hide resume playing