Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Patterns of Enterprise Application Architecture

18.8. Special Case

Subclasse com comportamento padrão para casos especiais (ex.: Null Object).

Em vez de verificar nulo, o código recebe um ClienteDesconhecido que responde com valores padrão
Sem 'if (cliente == null)' espalhado: o caso especial responde sozinho.

Resumo

Perguntas-chave

responda de cabeça, depois abra
Que problema o Special Case resolve?
Verificações de nulo e de casos especiais repetidas por todo o código.
Qual a relação com Null Object?
Null Object é um tipo de Special Case.
Pode haver mais de um Special Case por classe?
Sim, ex.: cliente desconhecido e cliente ausente com comportamentos diferentes.

Exercícios de fixação

0/5 respondidas
1.
Uma busca retorna ClienteDesconhecido (subclasse de Cliente) com nome 'Ocupante' e plano 'básico' em vez de null. Qual padrão?
2.
Qual benefício principal do Special Case?
3.
Null Object é:
4.
O código tem if (cliente == null) nome = "Ocupante" em 40 lugares. Que refatoração aplica o padrão?
5.
Qual exemplo numérico Fowler cita como Special Case?
Seu progresso fica salvo neste navegador.