Oi Pessoal, vim do Delphi e nele não usávamos MVC, estou migrando pra Java(VRaptor3+Hibernate)/ExtJS, estou com duvidas na minha extrutura MVC:
Levando em consideração o cadastro de categorias os exemplos que vejo sempre funcionam assim:
Controller:
CategoriaController.java
Model:
CategoriaDao.java - As regra de negócio ficariam aqui.
Categoria.java
Neste caso, penso eu, que as regras de negócio(condições para poder ou não persistir a informação) ficarão nos métodos da classe CategoriaDao, o CategoriaController deve servir apenas como uma ponte entre o a View e o CategoriaDao.
Bom, ai vem a minha questão, a ideia de colocar regras no CategoriaDao me parece estranha, não seria melhor criar uma classe CategoriaServico e colocar minhas regras aqui?
Outra possiblidade que vejo é que se tratando do VRaptor(ao meu ver encapsula a camada de controle mesmo) poderíamos colocar na CategoriController e esta passaria a ter uma função de Model.
A Arquitetura que eu acho “mais correta” seria:
Controller:
CategoriaController.java
Model:
CategoriaServico.java - Aqui teria as lógicas e só chamaria a dao pra persistir mesmo
CategoriaDao.java
Categoria.java
Alguém saberia me dar uma luz?
Desde já, Obrigado.

Desktop(local) podeira acessar os dados via WebService, mas isto é outra história…