Show / Hide Table of Contents

Что такое EntityProcessor?

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

Для того, чтобы показать, как использовать EntityProcessor задумана простая логика, которая реализована в примерах (смотри папку Samples в репозитории)

Создание Order

По идеи требуется создать сущность Order использую какие-то проверки свойств. В случае успешного прохождения всех проверок сущность "сохраняется" в базу данных.

Обновление Order

Следующий шаг, обновление статуса сущности Order. При проверки определенных свойств у сущности, также "сохраняем" обновления в базу данных.

События домена (Domain Events)

В процессе проверок, требуется запустить соответствующие события (Domain Event). В случае Calabonga.EntityProcessor.ConsoleAppAdvanced регистрируем их в выходных данных, а дальше запускаем эти события через Mediatr.

Calabonga.EntityProcessor.ConsoleAppGood

В этом проекте реализован простой, но при этом не менее работоспособный вариант реализации описанной выше логики.

Calabonga.EntityProcessor.ConsoleAppAdvanced

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

Дополнительно

  • Статья в блоге

  • Видео на YouTube

  • Nuget-пакет

☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾