9.1. Transaction Script
Um procedimento por requisição: lê, calcula, grava.
Resumo
- Organiza a lógica em procedimentos, um por transação/ação do usuário.
- Cada script valida, calcula e chama o banco (direto ou via gateway) do começo ao fim.
- Organização: vários scripts em uma classe por assunto, ou um Command por script.
- Vantagens: simples, natural, fácil de entender, bom controle da transação.
- Problema: lógica duplicada entre scripts quando o domínio cresce. Aí migre para Domain Model.
Perguntas-chave
responda de cabeça, depois abraQuando usar Transaction Script?
Quando a lógica é simples e pouco compartilhada entre ações.
Qual o principal problema dele em domínios complexos?
Duplicação: regras comuns acabam copiadas entre vários scripts.
Como organizar vários scripts?
Agrupados por assunto em uma classe, ou cada um em sua própria classe Command.
Exercícios de fixação
0/5 respondidas1.
O método
reconhecerReceita(contratoId) busca o contrato, calcula parcelas e grava tudo no banco em um só procedimento. Qual padrão é esse?2.
Qual o sinal mais claro de que um sistema em Transaction Script precisa evoluir?
3.
Qual é uma vantagem real do Transaction Script?
4.
Como Transaction Scripts costumam acessar o banco para manter o SQL separado?
5.
Em uma equipe que nunca usou modelos de objetos ricos, com regras simples, Transaction Script é: