maior_abandonado:
…pois é… as vejo solução robusta sendo aplicada para problemas pequenos (e que inclusive dificilmente vão crescer)… as vejo inclusive gente inserindo camada/código desnecessário por que aprendeu que aquilo é bom, tomando como exemplo de por que aquilo é bom um problema enorme e usa aquilo num negocio simples…
@viniciushmol,
O relacionamento(interação) entre as “camadas” da Aplicação vai depender da (grau de) Complexidade do Sistema e, por conseguinte, a Arquitetura de Software adotada. Vja, vc poderia expor a Lógica de Negócio como Serviços através de 1 interface (não me refiro à
Interface do Java) através de 1 Fachada: ServiceFacade. Persistindo os objetos do DomainModel em/via arquivo lógico de dados (Repository / DAO) Se entre essas camadas não houver 1 camada Gerenciador/Manager (caso esta camada não seja necessária), seus
ServiceFaçades invariavelmente vão ter q fazer uso dos DAOs.
Obs.: o ‘Application Controller’ mencionado p/ deniswsrosa consta do famigerado catálogo da Sun: J2EE Core-Patterns.
maior_abandonado:
(de vez em quando chega-se a ver isso em cruds…)
@maior_abandonado,
Gostaria de abrir apenas um parêntese: a questão não é só de ser CRUD, ou não. Até pq os ‘Casos de Uso’
Arquiteturalmente Siginificativos tem q ser levados em conta na definição da Arquitetura. O q eu quero dizer é q quando for implementar o seu Sistema, todos os Casos de Uso vão ter q seguir o mesmo padrão (camadas lógicas, se for o caso).
Então, talvez fosse o caso de ser adotada
Arquitetura Evolucionária/
Emergente.