Olá pesoal,relendo artigo da Revista Mundo Java, de 2006(meio antigo eu sei) sobre Arquitetura em Camadas, que basicamente existem quatro camadas:
.Apresentação
.Aplicação
.Negocios
.Peristencia
Considerando, que uma Action/Servlet, faz parte da camada de apresentação, como visto em no artigo
http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas então se eu chamar um Dao, seja por composition ou intanciando dentro de um metodo estaria violando uma camada correto?
Pois estou chamando Apresentacao -> Persistencia diretamente, então para resolver isso o que poderia fazer ?
1- Criar um repositorio(que faz parte da camada de negocio) e a action/servlet chamar o repositorio
2-Cria um Façade GerenciadorUsuario e nele expor o metodo criarUsuario(parametro), dentro delete invocar o Dao
mas aqui ainda estaria violando, pois nao passei pela camda de negocios.
3- Criar um metodo save dentro De Usuario(ActiveRecord), e minha action/servlet chamar Usuario.save(usuario);
Ou seja é uma boa prática sempre a camada de negocios acesar a camada de Persistencia
Uma outra dúvida, no mesmo artigo diz que MVC é padrão para camada de apresentação, e que dificilmente será aplicado em outros lugares. seguindo este principio, dividindo o MVC, o único que não seria da camada de apresentação é o Model, que artigo diz que e a interface para objetos de negocio?
O que seria essa interface?
Obrigado!