![](http://www.juyang.co/wordpress/wp-content/uploads/state-pattern-cover-2.png)
In this post, I will use the State Pattern to alter the behaviors of a hero when it is under attack or being silenced. State pattern allow us to encapsulate states into separate classes and delegate behaviors to the object representing the current state.