Padrão de Projeto Comportamental
Permite que um objeto altere seu comportamento quando seu estado muda.
Muitos if/else ou switch baseados em estado
if (estado == "A") { ... }
else if (estado == "B") { ... }
Criar uma classe para cada estado
Usar polimorfismo ao invés de condicionais
Estados: Verde, Amarelo, Vermelho
interface State {
void handle();
}
class GreenState implements State {
public void handle() {
System.out.println("Pode passar!");
}
}
class TrafficLight {
private State state;
public void setState(State state) {
this.state = state;
}
public void action() {
state.handle();
}
}
Estado muda → comportamento muda
Use classes ao invés de condicionais