Моделирование предметной области бизнес-правил - PullRequest
0 голосов
/ 17 марта 2019

В нашей системе управления материальными потоками существует центральная концепция событие .

Событие - это последовательная, однозначная цифра, кодирующая текущее состояние целевого объекта в его жизненном цикле, как определено бизнес-правилами. События накапливают всю историю обработки вопроса. Для каждого типа цели в его жизненном цикле существуют десятки возможных событий.

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

События являются наиболее важной концепцией для управления рабочим процессом пользовательского интерфейса, интеграцией и процессом пакетной обработки. Хорошо документированные числовые значения этих событий кодируют основную часть бизнес-правил, основанных на сложных уравнениях и сравнениях порядка этих числовых Значения и их комбинации для получения следующих состояний переходов и выполнения проверки. Это похоже на то, что цифры событий образуют собственный DSL.

Я очарован этим выбором дизайна и процессом планирования. Если бы мне пришлось разрабатывать сложную корпоративную систему, каковы мои лучшие ресурсы, чтобы научиться правильно моделировать и применять такие центральные решения? Это где методы DDD входит?

1 Ответ

1 голос
/ 18 марта 2019

Томас.Это звучит завораживающе и очень похоже на Event Sourcing .Я могу, конечно, ошибаться, что это источник событий, но я кратко ознакомлю вас с этой концепцией.

Источник событий просто: «обеспечение того, чтобы каждое изменение состояния приложения регистрировалось вобъект события, и что эти объекты события сами хранятся в той последовательности, в которой они применялись в течение того же времени жизни, что и само состояние приложения ".

Выбор источника событий лучше всего работает с шаблоном архитектуры CQRS .Грег Янг, вероятно, является наиболее авторитетным источником этих концепций, поскольку он придумал их (так сказать), поэтому вот один из его презентаций .А вот Мартин Фаулер говорит о множестве смыслов управляемой событиями архитектуры

На «хорошо документированных числовых значениях» это, вероятно, организация юзабилити - я был бы очарован, если бы они былирассчитываются по алгоритму и очень удобочитаемы.Можете ли вы опубликовать пример?

Еще несколько ресурсов о Event Sourcing и CQRS: https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-about-event-sourcing-6afc23c69e9a https://www.confluent.io/blog/event-sourcing-cqrs-stream-processing-apache-kafka-whats-connection/

...