WINTER SALE IS ON!
State

State in Swift

State is a behavioral design pattern that allows an object to change the behavior when its internal state changes.

The pattern extracts state-related behaviors into separate state classes and forces the original object to delegate the work to an instance of these classes, instead of acting on its own.

Complexity:

Popularity:

Usage examples: The State pattern is commonly used in Swift to convert massive switch-base state machines into objects.

Identification: State pattern can be recognized by methods that change their behavior depending on the objects’ state, controlled externally.

The following examples are available on Swift Playgrounds.
Kudos to Alejandro Mohamad for creating the Playground version.

State in Other Languages

State in C# State in C++ State in Go State in Java State in PHP State in Python State in Ruby State in Rust State in TypeScript