[quote=j0nny][quote=fdiaz2011][quote=j0nny][quote=fdiaz2011][quote=fdiaz2011][quote=j0nny]
Tudo que faz parte do seu domínio, ou seja, da sua lógica, colocaria dentro de domain (ou model). Ou seja, entidades, enums, etc.
Services coloco quando há necessidade de uma certa operação do sistema trabalhar com mais de uma entidade. Nada impede de vc colocar isso dentro do seu domain, afinal, é domínio.
Vc poderia muito bem ter a seguinte estrutura: domain -> services, domain -> entities, domain -> types
No caso aos DAOs, colocaria apenas um DAO genérico, classe mesmo, com as operações básicas, e criaria DAO específico para cada operação, quando necessário (consulta específica, etc).
Uma opção seria fazer a seguinte estrutura:
controllers -> MeuController.java
dao -> MeuDao.java
domain -> services -> MeuService.java
domain -> entities -> MinhaEntidade.java
domain -> types -> MeuEnum.java
weapp -> meus_jsps.jsp[/quote]
Entendi, e achei muito bom.
Tb fica bem organizado.
No caso de interface pra dao, acha valido criar um pacote só pras interfaces ?
Obrigado pela ajuda !
[/quote][/quote]
Não. Caso REALMENTE tenha necessidade de criar interfaces, colocaria no mesmo pacote dos DAOs.[/quote]
Uma última opinião hehe
Pra interface, acredito q precise usar sim mais pra frente, acha q devo colocar algum sufixo ou prefixo pra identifica-las como interface ?
Fui editar o post anterior, mas o forum duplicou e colocou quote e ficou esquisito…
:([/quote]
Eu sou da opinião que sua arquitetura deve evoluir com o tempo. Não se prenda em fazer malabarismos agora. Faça a coisa mais coesa possível.
Muito dos programadores (o que mais vejo é em Java), gosta de complicar muito a coisa só pra ter uma ‘arquitetura bem definida’, quando na verdade só complicou a coisa que não precisava.
Quanto a nomenclatura, a interface vai existir pra ‘esconder’ sua implementação. Então não colocaria algo como ‘IContatoDao’. Apenas ‘ContatoDao’.[/quote]
Está certo, obrigado pelas dicas e sugestões.
Abraços !