Fundamentos de las máquinas de estado

2/15
Recursos
Transcripción

Aportes 7

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

📑 Conceptos base

Ideas/conceptos claves

Diagrama de estado

Es una representación que hacemos de una máquina de estados para poderla ver de manera visual

Estados

Es una “Snapshot” o estatus del proceso actual

Transición

Es moverse de un estado al otro

Evento

Es la acción que ejecuta una transición

Apuntes

Diagrama de estado

  • Un diagrama de estados tiene:
    • Estados
    • Transiciones
  • Los estados se conectan a través de flechas

Estados

  • Existen diferentes tipos de estados
    • Estado inicial
      • El estado con el que se iniciara
      • Solo puede existir un único estado inicial
    • Estado final
      • La condición donde se ve que termino el flujo o cumple lo necesario para concluir el flujo

Eventos y transiciones

  • Son la manera en la que nos movemos entre estados
    • Una transición puede ser el Failure o Success de un request

Una maquina de estado nos permite hacer transiciones de un estado a otro. Pero no me queda tan claro que tipo de datatype va ser este estado.
Porque lo relaciono demasiado con Redux

Algunos de los conceptos base de las máquinas de estado son los siguientes. ## **Diagramas de estados** Es una representación que hacemos de una máquina de estado para poderlo ver de una manera visual y que sea más sencillo de entender. ![](https://static.platzi.com/media/user_upload/image-c6c4468e-2cbc-40fc-a18f-d5e5329bcf07.jpg) Nuestro diagrama de estados tiene `estados` , `transiciones` y va conectando todo el flujo a través de flechas. Los `estados` son como un snapshot o lo que nos dice el status actual del proceso o de la interfaz o lo que estemos mostrando con nuestra máquina de estados. Entonces si yo sé que estoy en el estado de `loading` sé que mi aplicación está cargando. Hay diferentes tipos de estado; por ejemplo, el `estado inicial`, que en este caso es nuestro estado `inactivo`, que es el estado en el que siempre va arrancar nuestra máquina de estados. Al empezar un flujo nuestra máquina siempre va a iniciar en el `estado inicial`. Y solo puede haber un estado inicial dentro de nuestra máquina. Otro tipo de estado que tenemos son los `estados finales`, que en este caso serían los de `mostrar error` y `Mostrar datos` . Estos indican que son la condición de que se aceptó el flujo o de que terminó el flujo. Además de los estados tenemos los `eventos y transiciones` que son la manera en las que nos movemos entre estados. Entonces, una transición es, por ejemplo, el `failure` del request o el `success` del request. La `transición` como tal es el movernos de un estado al otro, y el `evento` es la acción que ejecuta ese movimiento. Entonces, en este caso, nuestro evento sería que falló el request, y la transición es el movimiento entre `loading` y `mostrar error` .
Conceptualmente está bien que haya una transición que nos permita volver al estado inicial?

Diagrama de estado

  • Es una representación gráfica de una máquina de estado.
  • Estos diagramas están formados por estados y transiciones.
  • Los estados son nodos y las transiciones flechas.

Los estados

  • Los estados son una snapshot o un estatus del proceso actual.
  • El estado inicial es donde empieza y solo puede haber uno.
  • Los estados finales son el final del proceso.

Las transiciones y eventos

  • Las transiciones son el paso de es un estado a otro.
  • El evento es la acción que ejecuta la transición.

es parecido al manejo de git segun lo que necesits pueses ir creando ramas en este caso es 100% secuencial y te permite avanzar y manejar varios cambios

Evento
acción que dispara la transición de un estado a otro
.
Transición
proceso en el cual un estado cambia a otro
.
Estado
cambia de uno a otro dependiendo el evento disparado