| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/01/2009 18:11:50
|
LuksS
JavaTeenager
![[Avatar]](/images/avatar/e86fdb256522aa912cbff6c9ee251fa4.png)
Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline
|
Estou num dilema.
Imagine um sistema de vendas, onde as principais entidade\atores são: Cliente, Produto, Venda, Itens de Venda e Funcionário.
Todos eles são classes com seus respectivos atributos e getters e setters, mais nada. Existem várias operações como fechar venda,
adicionar item de venda à venda atual etc... Mais estas minhas entidades só tem getters e setters, participam destes processos de negócio mais
não definem procedimentos, como por exemplo, o Funcionário ter um método "fecharVenda" ... Essa estrutura é incorreta? Ou seja, ter beans\POJOS e toda a regra, todo o resto ser definido como resposta de ações da camada de vizualização?
|
http://lucassimao.wordpress.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/01/2009 12:54:02
|
Arnaldo Caetano
Debugger
Membro desde: 24/01/2009 10:36:07
Mensagens: 64
Localização: São Paulo
Offline
|
O ideal é não ter nenhuma regra de negócio na camada de vizualização, caso queira mudar a sua camada de vizualização, a regra de negócio estará misturada.
Imagine que seu sistema terá que rodar na web, e depois em PDA, ou Desktop. A regra de negócio não muda! A implementação da camada de vizualização sim.
Tem a arquitetura MVC:
Model, View, Control, onde a camada model tem todas as regras de negócio do Sistema (Classes de Negócio, Entidades, Dao), View seria sua camada de vizualização do sistema, JSP, etc. e Controller seria a integração da View com a Model: como um servlet.
Se pensarmos em uma arquitetura SOA, o seu sistema poderia ter um Servido de Vendas, este serviço poderia ter os métodos de negócio e Daos de acesso a dados das entidades de persistência. Através do controler, o serviço poderia ser acessado e disponibilizado na View.
Você poderia facilmente criar um webservice e disponibilizar este serviço para outros sistemas por exemplo.
Criar camadas em seu sistema facilita o reuso e testes de componentes, além de permitir um controle de integração e versionamento de componentes mais confiável, uma vez que o baixo acoplamento evita que alterações simples em camadas de negócio se propaguem pelo sistema inteiro.
Qual o tipo de sistema você está desenvolvendo? Web, Desktop?
|
Arnaldo Caetano
java.aquitemnovidades.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/01/2009 19:07:59
|
LuksS
JavaTeenager
![[Avatar]](/images/avatar/e86fdb256522aa912cbff6c9ee251fa4.png)
Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline
|
Desktop mas minha intenção no futuro é de migrar tudo p/ Web
|
http://lucassimao.wordpress.com/ |
|
|
 |
|
|
|
|