State Pattern (padrão de desenho): Difference between revisions

From Wiki**3

 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
O padrão "state" permite que um objecto altere o seu comportamento quando o seu estado muda.
#REDIRECT [[ist:State Pattern (padrão de desenho)]]
 
==Estrutura==
O padrão ''state'' tem a seguinte estrutura de classes:
 
[[Image:state-dpcd.png|500px]]
 
==Exemplos==
 
===Porta automática===
 
A porta automática pode estar en vários estados que determinam a sua resposta a estímulos. Os vários estados são "Closed" (porta fechada); "Closing" (porta a fechar); "StayOpen" (permanentemente aberta); "Open" (aberta); "Opening" (porta a abrir). Os estímulos são "click" (botão de abrir/fechar premido); "complete" (fim do ciclo de abertura/fecho); "timeout" (passagem de tempo num dado estado).
 
[[Image:state-dp-state-diagram-door.png|500px]]
 
A uma aplicação de teste que simula alguns estímulos aos quais a porta deve responder.
 
  public class StatePattern {
    public static void main(String[] args) {
      Door door = new Door();  // Closed
      door.click();
      door.complete();
      door.timeout();
      door.click();
      door.status();
    }
  }
 
===Máquina de bombons===
 
[[category:OOP]]

Latest revision as of 17:06, 7 November 2018