23. Apresentadores e Objetos Humble
Separe o difícil de testar do fácil de testar.
Resumo
- Padrão Humble Object: dividir comportamento em parte difícil de testar (humilde) e parte testável.
- View é humilde: só move dados do ViewModel para a tela. Sem lógica.
- Presenter é testável: formata datas, moedas, flags de botão, tudo como strings/booleanos no ViewModel.
- Também em gateways de banco (interface testável; implementação humilde) e listeners de serviço.
- ORM fica na camada de banco, não é dono de dados. Toda fronteira tende a ter um objeto humilde.
Perguntas-chave
responda de cabeça, depois abraO que é um Humble Object?
Objeto mínimo que fica na parte difícil de testar, com toda a lógica movida para um objeto testável.
O que o ViewModel contém?
Dados prontos para exibir: strings formatadas, booleanos de estado, nomes de botões.
Onde o padrão aparece além da UI?
Gateways de banco, mapeadores ORM, listeners de serviços.
Exercícios de fixação
0/5 respondidas1.
Uma data precisa aparecer como "26/10/2026" na tela. Onde deve ficar a formatação?
2.
Qual o objetivo do padrão Humble Object?
3.
Um botão deve ficar cinza quando o pedido está fechado. Como o Presenter comunica isso à View?
4.
Segundo o capítulo, em que camada fica o ORM?
5.
Interfaces de gateway de banco ficam onde, e quem as implementa?