[[http://patforna.github.io/2006/12/a-dynamic-state-pattern.html|A Dynamic State Pattern]] {{ :helloworld:design_pattern:etat:a_dynamic_state_pattern_2020-03-02_22_29_04_.html |Archive du 20/12/2006 le 02/03/2020}} Le principe consiste à mettre dans une instance toutes les méthodes qui peuvent varier en fonction de l'état de l'objet. Si une méthode n'est pas applicable, elle peut par exemple générer une exception. {{:helloworld:design_pattern:etat:tcp-state.gif|Pattern state appliqué au TCP/IP}} Par exemple ici, les méthodes ''Close'' et ''Acknowledge'' ne sont pas applicables avec l'état ''TCPClosed''.