8. Juntando Tudo
Comece pelo domínio; ele dita a fonte de dados e o resto.
Resumo
- Comece pela lógica de domínio: Transaction Script, Table Module ou Domain Model.
- Transaction Script → Row ou Table Data Gateway. Table Module → Table Data Gateway + Record Set.
- Domain Model simples → Active Record. Complexo → Data Mapper + Unit of Work, Identity Map, Lazy Load.
- Apresentação: MVC; Page Controller por padrão, Front Controller se complexo; Template ou Transform View.
- Distribuição e concorrência offline só quando necessárias. Tecnologia (Java, .NET, procedures) ajusta as escolhas.
Perguntas-chave
responda de cabeça, depois abraPor onde começar as decisões arquiteturais?
Pela escolha da lógica de domínio, porque ela influencia fortemente a fonte de dados.
Qual fonte de dados combina com Domain Model complexo?
Data Mapper, normalmente com Unit of Work, Identity Map e Lazy Load (ou uma ferramenta O/R).
Qual fonte de dados combina com Table Module?
Table Data Gateway retornando Record Sets.
Exercícios de fixação
0/5 respondidas1.
Uma equipe usa Table Module em .NET. Qual padrão de fonte de dados combina naturalmente?
2.
O domínio é rico, com herança e regras complexas, e o esquema do banco é legado e diferente do modelo. Qual combinação é indicada?
3.
Qual a primeira decisão sugerida por Fowler ao montar a arquitetura?
4.
Um Domain Model simples, onde cada classe espelha uma tabela, pede qual padrão de fonte de dados?
5.
Qual controlador de entrada Fowler sugere como ponto de partida em sites simples?