| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 13:17:41
|
Franclayton
What is classpath?
Membro desde: 20/05/2008 09:15:53
Mensagens: 5
Offline
|
Pessoal!
Pergunta que não quer calar: ONDE IMPLEMENTAR AS REGRAS DE NEGÓCIO?
Onde trabalho (ambiente WEB) temos a seguinte arquitetura:
Modelo MVC, onde:
VIEW: somente JSP com algumas validações javascript, e alguns componentes (ex: listagem).
ACTION: É A LETRA "C" (CONTROLLER) do modelo MVC? AQUI QUE É IMPLEMENTADA AS REGRAS DE NEGÓCIO ou somente tratamento das requisições e redirecionamentos?
MODEL: É A LETRA "M" (MODELO) do modelo MVC? OU AS REGRAS DE NEGÓCIO DEVE SER IMPLEMENTADAS AQUI?
Temos também:
DTO: que é o espelho das tabelas (cada tabela tem seu respectivo DTO)
FORM: representar o Formulário
DAO: nossa camada de persistencia
RESUMINDO:
JSP faz uma requisição para a ACTION que por sua vez captura os dados do Form, carrega os respectivos DTO´s e chama um método na MODEL (ex: listarCliente) que vai em uma DAO respectiva (que faz todo o acesso ao Banco). A DAO retorna para a MODEL que retorna para a ACTION que faz o devido redirecionamento.
A Dúvida é: Onde implementar as REGRAS DE NEGÓCIO?
Ex: Se eu tenho que adicionar uma informação a mais (que não está no banco) em uma combo-box, onde devo implementar? na ACTION ou na MODEL?
Um simples if é uma REGRA DE NEGÓCIO?
Escrevi demais...
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 13:24:37
|
Deluxe
GUJ Ranger
![[Avatar]](/images/avatar/6d8e4836f22d0a921638c5a785a62896.jpg)
Membro desde: 26/04/2006 15:50:49
Mensagens: 793
Localização: Distrito Federal
Offline
|
Cara vo te falar em cima do JSF
VIEW
Fica o que vai integari com a jsp, no caso o que recebe e respode..
Classe BEAN
Classe POJO
por exemplo..
MODELO
Aqui fica as classes e interfaces para acessar o banco
Classe HibernateDAO
Classe JDBCDAO
CONTROL
Aqui fica o controle de tudo..
no caso do JSF, aqui geralmente fica o Facade que e o cerebro da aplicacao, ele que pega dados da Classe Bean e manda pra as classes Dao..
Classe Facade
basicamente isso..
A pagina jsp se comunica com o Bean, o Bean comunica com o Facade e o Facade se comunica com o DAO..
as execoes tb sao tratadas no Facade..
|
Eu tenho a humildade de aprender com as pessoas, e nao a arrogância de ensiar o que eu não sei... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 13:35:09
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
Deluxe wrote:
Cara vo te falar em cima do JSF
VIEW
Fica o que vai integari com a jsp, no caso o que recebe e respode..
Classe BEAN
Classe POJO
por exemplo..
MODELO
Aqui fica as classes e interfaces para acessar o banco
Classe HibernateDAO
Classe JDBCDAO
CONTROL
Aqui fica o controle de tudo..
no caso do JSF, aqui geralmente fica o Facade que e o cerebro da aplicacao, ele que pega dados da Classe Bean e manda pra as classes Dao..
Classe Facade
basicamente isso..
A pagina jsp se comunica com o Bean, o Bean comunica com o Facade e o Facade se comunica com o DAO..
as execoes tb sao tratadas no Facade..
Cara, sob sua análise.. BEAN = ManagedBean e Classe POJO = "QQer classe"???
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 13:37:48
|
Franclayton
What is classpath?
Membro desde: 20/05/2008 09:15:53
Mensagens: 5
Offline
|
Esqueci, usamos o STRUTS...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 13:49:31
|
Deluxe
GUJ Ranger
![[Avatar]](/images/avatar/6d8e4836f22d0a921638c5a785a62896.jpg)
Membro desde: 26/04/2006 15:50:49
Mensagens: 793
Localização: Distrito Federal
Offline
|
ah certo..
a classe pojo e onde fica os objeto, os dados da classe.
tipo
public class Pessoa{
String nome
String senha
String login
gets e sets
|
Eu tenho a humildade de aprender com as pessoas, e nao a arrogância de ensiar o que eu não sei... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 14:00:58
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Deluxe wrote:Pergunta que não quer calar: ONDE IMPLEMENTAR AS REGRAS DE NEGÓCIO?
Nos objetos de negócio (Não é xxxBO pelo amor de Deus)
Seus objetos de negócio devem estar na camada de domínio e serão acessados pela sua "action" de alguma forma, seja diretamente, seja por uma Service Layer/Application Layer.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 14:01:29
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
View: apresentação, interface direta com o usuário/camada cliente.
Controller: trata dos eventos entre a View e o Model, têm o controle de fluxo de dados.
Model: regras de negócio, acesso à banco, e outros recursos.
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 14:16:15
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
Franclayton wrote:Pessoal!
Pergunta que não quer calar: ONDE IMPLEMENTAR AS REGRAS DE NEGÓCIO?
Onde trabalho (ambiente WEB) temos a seguinte arquitetura:
Modelo MVC, onde:
VIEW: somente JSP com algumas validações javascript, e alguns componentes (ex: listagem).
ACTION: É A LETRA "C" (CONTROLLER) do modelo MVC? AQUI QUE É IMPLEMENTADA AS REGRAS DE NEGÓCIO ou somente tratamento das requisições e redirecionamentos?
MODEL: É A LETRA "M" (MODELO) do modelo MVC? OU AS REGRAS DE NEGÓCIO DEVE SER IMPLEMENTADAS AQUI?
Temos também:
DTO: que é o espelho das tabelas (cada tabela tem seu respectivo DTO)
FORM: representar o Formulário
DAO: nossa camada de persistencia
RESUMINDO:
JSP faz uma requisição para a ACTION que por sua vez captura os dados do Form, carrega os respectivos DTO´s e chama um método na MODEL (ex: listarCliente) que vai em uma DAO respectiva (que faz todo o acesso ao Banco). A DAO retorna para a MODEL que retorna para a ACTION que faz o devido redirecionamento.
A Dúvida é: Onde implementar as REGRAS DE NEGÓCIO?
Ex: Se eu tenho que adicionar uma informação a mais (que não está no banco) em uma combo-box, onde devo implementar? na ACTION ou na MODEL?
Um simples if é uma REGRA DE NEGÓCIO?
Escrevi demais...
1 - DTO não é "espelho" de tabelas
2 - vc não rpecisa de um FORM ( a não ser que seja um tosco-form do struts1.x
3 - Eliminar ao máximo regras de negócio na view.
4 - Não entendi quando vc diz que "A DAO retorna para a MODEL"
5 - Sim, suas regras de negócio ficam no model, se vc prefere pensar assim.
This message was edited 1 time. Last update was at 20/06/2008 14:16:53
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 14:26:35
|
lucifeler
JavaChild
![[Avatar]](/images/avatar/0c4d2507437b59833b44f6367c6222c0.jpg)
Membro desde: 13/02/2007 21:34:57
Mensagens: 101
Localização: São Paulo
Offline
|
Bom leia o que o Shoes escreveu sobre MVC e Camadas talvez possa ajudar, ele explica a diferença e o papel de cada um no projeto
MVC e Camadas
|
A sabedoria é o melhor guia e a fé, a melhor companheira. Deve-se pois, fugir das trevas da ignorância e do sofrimento, deve-se procurar a luz da Iluminação.(Sakyamuni) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 14:53:49
|
Franclayton
What is classpath?
Membro desde: 20/05/2008 09:15:53
Mensagens: 5
Offline
|
Tecnoage wrote:
Franclayton wrote:Pessoal!
Pergunta que não quer calar: ONDE IMPLEMENTAR AS REGRAS DE NEGÓCIO?
Onde trabalho (ambiente WEB) temos a seguinte arquitetura:
Modelo MVC, onde:
VIEW: somente JSP com algumas validações javascript, e alguns componentes (ex: listagem).
ACTION: É A LETRA "C" (CONTROLLER) do modelo MVC? AQUI QUE É IMPLEMENTADA AS REGRAS DE NEGÓCIO ou somente tratamento das requisições e redirecionamentos?
MODEL: É A LETRA "M" (MODELO) do modelo MVC? OU AS REGRAS DE NEGÓCIO DEVE SER IMPLEMENTADAS AQUI?
Temos também:
DTO: que é o espelho das tabelas (cada tabela tem seu respectivo DTO)
FORM: representar o Formulário
DAO: nossa camada de persistencia
RESUMINDO:
JSP faz uma requisição para a ACTION que por sua vez captura os dados do Form, carrega os respectivos DTO´s e chama um método na MODEL (ex: listarCliente) que vai em uma DAO respectiva (que faz todo o acesso ao Banco). A DAO retorna para a MODEL que retorna para a ACTION que faz o devido redirecionamento.
A Dúvida é: Onde implementar as REGRAS DE NEGÓCIO?
Ex: Se eu tenho que adicionar uma informação a mais (que não está no banco) em uma combo-box, onde devo implementar? na ACTION ou na MODEL?
Um simples if é uma REGRA DE NEGÓCIO?
Escrevi demais...
1 - DTO não é "espelho" de tabelas
2 - vc não rpecisa de um FORM ( a não ser que seja um tosco-form do struts1.x
3 - Eliminar ao máximo regras de negócio na view.
4 - Não entendi quando vc diz que "A DAO retorna para a MODEL"
5 - Sim, suas regras de negócio ficam no model, se vc prefere pensar assim.
Opa!
Estou cheio de dúvidas!
1 - o que seria um DTO então?
2 - como utilizo Struts não tenho que utilizar Form? JSP sem Form?
3 - minha view não tem regra de negócio, somente html
4 - Model acessa a DAO. Na DAO acesso o banco (ex: um select que adiciono a uma collection) e a DAO retorna essa collection para a Model que por sua vez retorna para a Action
5 - Procuro fazer as regras de negócio na Model, onde vc sugere?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2008 15:30:18
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
Franclayton wrote:
Estou cheio de dúvidas!
1 - o que seria um DTO então?
2 - como utilizo Struts não tenho que utilizar Form? JSP sem Form?
3 - minha view não tem regra de negócio, somente html
4 - Model acessa a DAO. Na DAO acesso o banco (ex: um select que adiciono a uma collection) e a DAO retorna essa collection para a Model que por sua vez retorna para a Action
5 - Procuro fazer as regras de negócio na Model, onde vc sugere?
1 - DTO é um objeto para agregar dados que serão transmitidos via rede para outra máquina. Isso é para diminuir a quantidade de objetos trafegando na rede.
3 - Bom
4 - É estranho falar que Model acessa DAO já que o DAO é apenas um dos componentes da Model, mas está certo.
5 - Regras de negócio começam a partir do momento que os dados entram na Model e terminam quando os dados a deixam. Mas isso não significa que tudo é negócio. Preocupe-se em separar as responsabilidades.
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2008 12:40:15
|
fmeyer
Moderador
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline
|
Implemente suas regras de negocio em uma engine de regras
|
Fernando Meyer http://fernandomeyer.com |
|
|
 |
|
|