🔄 Ciclo de Vida (Máquina de Estados)
O Diagrama de Máquina de Estados descreve o comportamento de um objeto único, focando nas transições de situação que ele sofre em resposta a eventos internos ou externos.
🏗️ Conceitos de Estado
| Conceito | O que significa no Código? |
|---|---|
| 🟣 Estado | Uma condição específica na vida de um objeto (Ex: status: "PENDENTE", "PAGO", "CANCELADO"). |
| ➡️ Transição | A lógica que move o objeto de um estado para outro (Ex: Evento de confirmação de Pix). |
| 🏁 Inicial / Final | Marcam o nascimento (●) e a conclusão ou destruição (◉) do objeto no sistema. |
🏗️ Exemplo Prático: Lifecycle de um Pedido Ecommerce
Um pedido de vendas percorre diversos estados conforme o pagamento e a logística avançam.
stateDiagram-v2
[*] --> Aberto
Aberto --> AguardandoPagamento : Checkout concluído
AguardandoPagamento --> Pago : Confirmação Gateway
AguardandoPagamento --> Cancelado : Timeout 24h
Pago --> PreparandoEnvio : NF-e Gerada
PreparandoEnvio --> Enviado : Coleta Transportadora
Enviado --> Entregue : Protocolo Assinado
Entregue --> [*]
Cancelado --> [*]
style Aberto fill:#fff3e0,stroke:#fb8c00
style Pago fill:#e1f5fe,stroke:#01579b
style Entregue fill:#f1f8e9,stroke:#558b2f
[!NOTE] 💡 Onde Aplicar: Este diagrama é vital para sistemas com regras de negócio rígidas para mudanças de situação, como Workflows de Aprovação, Status de Processos Jurídicos ou Logística.