Dynamic Strategy State Pattern

This pattern helps activate and deactivate strategies within a state when switching to another state, depending on whether the other state contains that strategy or not.

Click here to read the article