Una máquina de estado es un paradigma bien conocido para el desarrollo de programas, proporciona un estilo de modelado con el que puede modelar su flujo de trabajo de una manera impulsada por eventos. En esta charla te estaremos mostrando como implementar este paradigma en tus aplicaciones .NET, usando como ejemplo un app en Xamarin Forms.
6. ¿QUE ES UNA MAQUINA DE ESTADO?
“Una máquina de estados es un paradigma conocido para el
desarrollo de programas, en el cual proporciona un
estilo de flujo de trabajo de una manera orientada a
eventos.”
17. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Stateless
https://github.com/dotnet-state-machine/stateless
1. Instalar la librería
18. 2. Crear la máquina de estado
Enum Estado Enum Trigger Estado Inicial
19. INSIRA A TECNOLOGIA MICROSOFT
AQUI
3. Configurar cada estado
Estado que se quiere configurar
Configure
20. INSIRA A TECNOLOGIA MICROSOFT
AQUI
SearchingOrigin
SearchingDestination
CalculatingRoute
ChoosingRide
ConfirmingPickUp
ShowingXUberPass
WaitingForDriver
Configure
21. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Acción que se ejecuta al entrar al estado
OnEntry
22. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Acción asíncrona que se ejecuta al entrar al estado
OnEntryFromAsync
23. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Acción que se ejecuta al salir del estado
OnExit
24. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Acción que se ejecuta al activar explicitamente el estado
OnActivate
25. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Define cuales Triggers están permitidos para el estado actual y
qué estados nuevos se pueden establecer.
Permit
26. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Define cuales Triggers están permitidos para el estado actual y
qué estados nuevos se pueden establecer + Permite agregar
condiciones externas.
PermitIf
27. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Permite regresar al mismo estado.
PermitReentry
28. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Permite realizar transiciones internas
InternalTransition
41. INSIRA A TECNOLOGIA MICROSOFT
AQUI
La máquina de estado evita operaciones fuera de
orden.
42. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Elimina las condiciones en el código ya que
abstrae toda la lógica con respecto a los estados y
las transiciones.
43. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Las máquinas de estado pueden ser muy fáciles
de mantener, ya que la acción realizada durante
cada transición es independiente entre sí.
44. INSIRA A TECNOLOGIA MICROSOFT
AQUI
Es fácil rastrear qué transición / datos / evento
causó la condición actual de una solicitud.