DEV Community


State Machine in a nutshell

Juliana Dias
Software craftswoman & consultant, pseudo-writer, aspiring photographer, pamonha-eater and powered by coffee. 👩🏽‍💻☕🦄💎 she/her
・1 min read

Sometimes we need to apply a state in some cases when we want to modify a status of an object. A basic example is water state: gaseous, liquid and solid and the events responsible for change it:

Object: Water
Event: Fusion
States: From solid to liquid
Event: Evaporation
States: From liquid to gaseous
Event: Condensation
States: From gaseous to liquid
Event: Solidification
States: From liquid to solid

Look at this as a simple example that happens around us. As in many other cases, we can apply it in programming using something called state machine.

State Machine code screenshot

In the above example, we have different states and events responsible for change these states. Proposed, accepted, rejected and pending are possible states for a object and the state of an object can change when an event occurs. Pretty similar to the example of water states, right?

Discussion (0)

Forem Open with the Forem app