 <p>Using a state pattern is an approach you can take for this, but honestly what your describing is part of what the MVC framework was designed to accomplish.</p> <p>Edit:<br> MVP/MVC</p> <p>Since the MVC Framework isn't an option then I would take a look at Model View Presenter pattern (MVP) with either the passive view approach or superviser approach as described here: <a href="http://www.martinfowler.com/eaaDev/SupervisingPresenter.html" rel="nofollow noreferrer">http://www.martinfowler.com/eaaDev/SupervisingPresenter.html</a></p> <p>We found that the passive view approach worked with a little adaptation for our legacy code to work out good for us.</p> <p>Edit: Patterns:</p> <p>In that case then which pattern you choose really depends upon what the business needs are. </p> <p>State pattern:</p> <p>State pattern is typically used for when you need to change the behavior of an object based upon its current state or the state of a relation to the object. A common usage of this pattern is with games when the behavior of the object depends upon which mouse cursor button is pressed.</p> <p><a href="http://en.wikipedia.org/wiki/State_pattern" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/State_pattern</a></p> <p>Strategy pattern:</p> <p>This pattern is good for when you need different implementation based upon a configuration. For example say you are defining an email system and you need to have a different implimentation based upon which email provider is being used to send the email. </p> <p><a href="http://en.wikipedia.org/wiki/Strategy_pattern" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/Strategy_pattern</a></p> <p>So State pattern could definetly be the right direction it just comes down to what the objective is and what behavior's your trying to meet.</p> <p>What you'll often find with patterns is that they work well with eachother and you'll use multiple patterns in conjuction with eachother.</p>