Использование шаблона состояний - это подход, который вы можете использовать для этого, но, если честно, то, что вы описываете, является частью того, для чего была разработана инфраструктура MVC.
Edit:
MVP / MVC
Поскольку MVC Framework не является вариантом, я бы взглянул на шаблон Model View Presenter (MVP) с использованием подхода пассивного просмотра или подхода супервизора, как описано здесь: http://www.martinfowler.com/eaaDev/SupervisingPresenter.html
Мы обнаружили, что подход пассивного просмотра работал с небольшой адаптацией для нашего унаследованного кода, чтобы работать хорошо для нас.
Edit:
Узоры:
В таком случае, какой шаблон вы выберете, действительно зависит от потребностей бизнеса.
Шаблон состояния:
Шаблон состояния обычно используется, когда вам необходимо изменить поведение объекта на основе его текущего состояния или состояния отношения к объекту. Обычно этот шаблон используется в играх, когда поведение объекта зависит от того, какая кнопка мыши нажата.
http://en.wikipedia.org/wiki/State_pattern
Шаблон стратегии:
Этот шаблон подходит для случаев, когда вам нужна другая реализация в зависимости от конфигурации. Например, предположим, что вы определяете систему электронной почты, и вам нужно иметь другое значение в зависимости от того, какой поставщик электронной почты используется для отправки электронной почты.
http://en.wikipedia.org/wiki/Strategy_pattern
Таким образом, модель состояния определенно может быть правильным направлением, оно просто сводится к тому, что является целью и каким поведением вы пытаетесь соответствовать.
То, что вы часто найдете в шаблонах, это то, что они хорошо работают друг с другом, и вы будете использовать несколько шаблонов в сочетании с друг другом.