Bom dia pessoal, estou com algumas dúvidas referentes a arquitetura de projeto, em relação
a divisão das minhas camadas, para elas se comportarem adequadamente no padrão MVC!
eu pensei em algo como os seguintes “packages”:
com.myArch.business:
|______________________ componentes de negócio, como: User, UserLogic, etc.
com.myArch.persistence:
|______________________ componentes de persistência, como: GenericDAO, DAOFactory
com.myArch.persistence.hibernate: componentes do hibernate: GenericHibernateDAO, HibernateDAOFactory
com.myArch.persistence.hibernate.util: utilidades do hibernate… HibernateUtil, TableGenerate
com.myArch.handlers
|__________________: controladores… servlet, managedbeans, actions, etc.
Está correto? O que deveria mudar?
Agradeço a atenção de todos…
Não existem definições corretas para a arquitetura física. Você pode defini-las como quiser desde que separe seu projeto em camadas lógicas. (apresentação, negocio e integração).
Em um projeto MVC que fiz, separei da seguinte forma.
pacote modelo possuia : DAO´s, Entidades e lógica de negocios, ficando
modelo.dao
modelo.Entidade (com lógica de negócios)
Isso vai depender muito de qual o nivel de complexidade vai ser seu software! quanto maior for, mais pacotes especificos seão necessários.
O importante é não esquecer que entre escolher entre todos os padrões e fórmulas que os livros trazem abstratamente, a melhor solução para o seu problema ainda é a sua visão e a sua interpretação. (você deve criar uma arquitetura intuitiva)
Se a sua arquitetura está clara para todos os desenvolvedores do projeto, então manda a ver.