tgoop.com/android_live/724
Last Update:
Конечный автомат на Jetpack Compose
#compose
Думаю, что многие слышали о понятии конечного автомата, но не многие применяли это понятие на практике. В Android-разработке оно очень здорово ложится на работу со сложными экранами, у которых есть большое число различных кейсов использования. А ещё оно идеально вписывается в концепцию Jetpack Compose.
Давайте рассмотрим небольшой практический пример, описанный в статье. Тут автор делает экран, где есть достаточно большое количество состояний, но с подходом Finite State Machine — получается всё предсказуемо и просто.
По сути, у конечного автомата есть следующие характеристики:
• количество состояний определено и оно конечное;
• количество действий также конечное;
• система может находиться только в одном из описанных состояний;
• одно и то же состояние всегда будет результатом одного и того же действия, независимо от того, как быстро и сколько раз это действие происходит.
Для начала автор советует описать в виде таблицы все возможные состояния текущего экрана. Из этой таблицы напрямую видны те состояния и действия, которые нужно закодить, а также убрать повторяющиеся.
На выходе мы получаем sealed class
, который легко расширяется в случае добавления нового состояния. Подход классный и отлично масштабируется, поэтому рекомендую обратить внимание на пример.🤟
BY Android Live 🤖

Share with your friend now:
tgoop.com/android_live/724