10.1. Table Data Gateway
Um objeto por tabela com todo o SQL dela.
Resumo
- Objeto que funciona como porta de entrada para uma tabela: todo o SQL dela fica ali.
- Interface simples:
find(id),findByNome(),insert(),update(),delete(). - Sem estado: retorna Record Set, mapas ou DTOs, não objetos de domínio ricos.
- Combina com Table Module e Transaction Script. Também serve para views e procedures.
- Mantém SQL fora da lógica; facilita trocar SQL por banco ou ajustar desempenho em um lugar.
Perguntas-chave
responda de cabeça, depois abraO que um Table Data Gateway retorna?
Estruturas de dados simples: Record Set, mapas ou DTOs.
Com quais padrões de domínio ele combina?
Table Module (via Record Set) e Transaction Script.
Ele guarda estado de uma linha?
Não. É um objeto sem estado; cada método recebe os parâmetros e consulta a tabela.
Exercícios de fixação
0/5 respondidas1.
PessoaGateway.findPorSobrenome('Silva') retorna um DataSet com várias linhas. Qual padrão é esse?2.
Qual a diferença entre Table e Row Data Gateway?
3.
Qual o principal benefício de concentrar o SQL em gateways?
4.
Com qual organização de domínio o Table Data Gateway se encaixa melhor?
5.
Um Table Data Gateway pode encapsular acesso a views e procedures?