или авторизуйтесь, если у вас он уже есть
Контроль жизненных циклов компонентов продукта – это непросто. На ранних стадиях разработки такие циклы – линейные, а реакция на события – практически мгновенная.
В подобных ситуациях классический конечный автомат (FSM) – надежный вариант.
Однако позднее, вместе с ростом требований бизнеса и количества внутренних сценариев, такое решение перестает работать: сценарии усложняются, архитектура становится запутанной, а жизненные циклы – нелинейными. Разработчику приходится писать много кода, описывая новый сложный сценарий. Архитектору становится труднее описывать продукт. Растет количество багов и время разработки.
Но есть и альтернативный вариант!
В докладе мы расскажем:
в чем кроется проблема FSM;
как мы искали альтернативный подход и нашли – StateChart Machine;
чем отличается жизненный цикл продукта в парадигме FSM и StateChart Machine;
преимущества такого подхода и подводные камни.
Покажем новый подход и на наших примерах из разработки продукта Kaspersky Thin Client, где мы выиграли, избрав путь StateChart. Разберем, как поменялась программная разработка нового сценария, и что изменилось в описании архитектуры в целом.