Dúvida sobre Arquitetura utilizada

Bom, estou começando o desenvolvimento de um projeto WEB com JSF 2 + Hibernate/JPA + Spring.

E estou planejando em utilizar o padrão MVC com a seguinte divisão:
1 - br.com.meusistema.gui (Aqui ficam meus Frames)
2 - br.com.meusistema.bo (Este é meu Controller e responsável pela lógica de negócio)
3 - br.com.meusistema.dao (Este é responsável por persistir os dados, realizar o CRUD e operações com o hibernate)
4 - br.com.meusistema.bean ( Aqui fica a minha lógica de dominio, meus Java Beans).

Bom, gostaria da opinião sobre esta divisão que estou prestes a utilizar, se alguém tem alguma sugestão ou algo do tipo.

[quote=rlanhellas]Bom, estou começando o desenvolvimento de um projeto WEB com JSF 2 + Hibernate/JPA + Spring.

E estou planejando em utilizar o padrão MVC com a seguinte divisão:
1 - br.com.meusistema.gui (Aqui ficam meus Frames)
2 - br.com.meusistema.bo (Este é meu Controller e responsável pela lógica de negócio)
3 - br.com.meusistema.dao (Este é responsável por persistir os dados, realizar o CRUD e operações com o hibernate)
4 - br.com.meusistema.bean ( Aqui fica a minha lógica de dominio, meus Java Beans).

Bom, gostaria da opinião sobre esta divisão que estou prestes a utilizar, se alguém tem alguma sugestão ou algo do tipo.[/quote]

essa pode ser um começo =D
o problema inicial é sempre saber nomear e colocar o conteudo no lugar certo…

só tenho uma observação no item 2… Controller não é responsavel pela regra de negocio… ela só direciona o fluxo das informações, regra de negocio eu colocaria no item 4

[quote=rlanhellas]Bom, estou começando o desenvolvimento de um projeto WEB com JSF 2 + Hibernate/JPA + Spring.

E estou planejando em utilizar o padrão MVC com a seguinte divisão:
1 - br.com.meusistema.gui (Aqui ficam meus Frames)
2 - br.com.meusistema.bo (Este é meu Controller e responsável pela lógica de negócio)
3 - br.com.meusistema.dao (Este é responsável por persistir os dados, realizar o CRUD e operações com o hibernate)
4 - br.com.meusistema.bean ( Aqui fica a minha lógica de dominio, meus Java Beans).

Bom, gostaria da opinião sobre esta divisão que estou prestes a utilizar, se alguém tem alguma sugestão ou algo do tipo.[/quote]
Segue as minhas…

  1. Uso do JSF já é MVC…vc não precisa faze mais nada, alem de conectar a chamada para seu Model (regra de negocio)
  2. Controller ou bo não pode fazer logica…ficou sem sentido.
  3. Controller no JSF é o próprio FacesServlet…vc não precisa fazer mais nada.
  4. De uma lida na proposta do Erik Vans no Livro DDD. Ele tem o template básico da melhor organização - http://www.macoratti.net/11/05/ddd_liv11.gif

Bom, pensei também na estratégia abaixo mas acho que da no mesmo, só muda o nome:

1 - br.com.meusistema.gui (Aqui ficam meus Frames)
2 - br.com.meusistema.controller (Este é meu Controller)
3 - br.com.meusistema.dao (Este é responsável por persistir os dados, realizar o CRUD e operações com o hibernate)
4 - br.com.meusistema.model ( Aqui fica a minha lógica de dominio, meus Java Beans).

Na verdade, com o JSF2 você fica mais próximo do padrão MVP (Model View Presenter), sendo os templates .xhtml sua View e os ManagedBeans agindo como Presenter’s. É um padrão muito utilizado no universo GWT, com a diferença de que com o GWT os Presenter são implementados no lado cliente, já com JSF2 eles ficam no lado server.

obrigado