Патерн называется "монада". Да, для типа Scenario реализовали методы flatMap и статический pure Как конкретно работает монада для подобного юзкейса в паре слов не объяснишь с нуля Сначала скажите, какой у вас уровень понимания монад и фримонад
а какие там уровни понимания монад могут быть?) либо знаешь что такое монада, либо нет. разве ни?
вообще не знаю монады
ну тогда, быстро не объяснить - но да, по сути вы конструируете элемент типа данных, который описывает процесс и внутри себя содержит обработки переходов на следующий шаг, входящих сообщений, фильтров и т.п.
ну я перепонимал монаду раз 7 в своей жизни
а если вдруг понадобится вынести состояние в дб ? тогда получается придется модифицировать этот тип данных ?
Нет проблем вынести состояние в БД
Хотя ладно, есть проблема вынести произвольное состояние в БД
Сейчас тебе @danicheg @hmemcpy всё объяснят. Челы умеют
По фри монаткам целую книгу написали https://leanpub.com/functional-design-and-architecture
И какие опции? На ум приходит только "моноид в категории" и "да та шляпа с парой методов"
ну еще как вариант у кор контрибьютеров спросить можно в этом чате @aleksei_t
Это вообще не самое общее определение монады
а я не говорил про "самое общее", я говорил про варианты которые знаю, 2 из 7
Ну у меня первый категорный вариант 5-й из семи
Обсуждают сегодня