Comandos Switch.
Você tem um operador switch complexo ou uma sequência de instruções if.
##Sinais e sintomas
Você tem um operador switch complexo ou uma sequência de instruções if.

double pay(Employee e) {
switch (e.type) {
case "engineer": return e.salary;
case "manager": return e.salary + e.bonus;
case "intern": return e.salary / 2;
default: throw new IllegalArgumentException(e.type);
}
}##Causas do problema
O uso relativamente raro dos operadores switch e case é uma das marcas registradas do código orientado a objetos. Muitas vezes, o código de um único switch pode estar espalhado por diferentes partes do programa. Quando uma nova condição é adicionada, você tem que encontrar todo o código switch e modificá-lo.
Como regra geral, quando você vê switch, deve pensar em polimorfismo.
##Tratamento
##Benefícios
- Melhor organização do código.
