2. Organizando a Lógica de Domínio
Transaction Script, Table Module ou Domain Model. Escolha pela complexidade.
Resumo
- Transaction Script: um procedimento por ação do usuário. Simples, mas duplica lógica quando cresce.
- Domain Model: objetos com dados e comportamento. Custo inicial maior; escala bem com complexidade.
- Table Module: uma classe por tabela operando sobre Record Set. Meio-termo, ótimo com ferramentas .NET.
- Escolha pela complexidade da lógica: simples → script; complexa → modelo. Equipe e ferramentas pesam.
- Service Layer pode ficar por cima de qualquer um: define a fronteira de operações e transações da aplicação.
Perguntas-chave
responda de cabeça, depois abraQuais as três formas de organizar a lógica de domínio?
Transaction Script, Table Module e Domain Model.
Quando o Domain Model compensa?
Quando a lógica é complexa, com muitas regras e variações. O custo inicial se paga conforme a complexidade cresce.
O que é um Service Layer mínimo?
Uma camada fina que só coordena transações e delega ao domínio. Fowler prefere manter o serviço o mais fino possível.
Exercícios de fixação
0/5 respondidas1.
Uma aplicação tem 10 casos de uso simples de cadastro, sem regras complexas, e a equipe não domina OO. Qual organização é mais indicada?
2.
No gráfico 'esforço × complexidade' de Fowler, o que acontece com o Transaction Script quando a lógica cresce?
3.
O que distingue Table Module de Domain Model?
4.
Em qual ambiente o Table Module brilha, segundo Fowler?
5.
Qual papel do Service Layer em relação às três organizações de domínio?