Allow and object to change its state when it’s internal state changes. The object will appear to change its class.
Decorator
Observer
State
Strategy