Здравствуйте, CodingUnit, Вы писали:
Хотелось бы конечно сравнения с другими библиотеками.
Чем Statechart выделяется, чем лучше, чем хуже и т.п.
В проекте назревает необходимость построения конечного автомата динамически по конфигурации.
Возможно ли использовать Statechart в таком сценарии ?
Все пытался сформировать вопрос, но как-то не получается внятно.
Попробую , надеюсь будет понятно.
Нужно пройтись по дереву , которое задается конфигурацией динамически и при этом сделать разные запросы на каждом уровне.
Далее в зависимости от успешности запроса есть переход на следующий уровень или цепочка валится.
Таких цепочек может быть несколько.
Ну и вопрос, возможна ли в оптимизация цепочек ?
Примерно если у нас есть такой вариант:
start / this.A == "A" => stateA
start / this.A == "B" => stateB
stateA / this.B == "X" => success
stateB / this.B == "Y" => success
Внутри преобразуется в такой вариант:
start /
let a = this.A // кешируем
if a == "A" => stateAorB (A)
if a == "B" => stateBorB (B)
stateAorB (arg) /
let b = this.B // кешируем
if arg == A
if b == "X" => success (A)
if arg == B
if b == "Y" => success (B)
Если в Statechart есть возможность передавать данные между состояниями, возможно это как раз то что надо.
Надеюсь идея ясна