State

Learn about a behavioral design pattern: the state pattern.

The state pattern is a behavioral pattern that is a clear example of reification in software design, making the concept of our domain problem an explicit object rather than just a side value (for example, using strings or integer flags to represent values or managing state).

Working with an example

When studying unit testing, we had an object that represented a merge request, and it had a state associated with it (open, closed, and so on). We used an enumeration to represent those states because, at that point, they were just data holding a value (the string representation of that particular state). If they had to have some behavior, or the entire merge request had to perform some actions depending on its state and transitions, this would not have been enough.

Get hands-on with 1200+ tech skills courses.