Em que camada?

Salve galera.
Estou com algumas duvidas em relação a camadas. Por exemplo quando se busca dados em um BD na camada de negocios e mostra eles na de apresentação tranquilo. Agora se preciso fazer um calculo com dois valores buscado no banco de dados e exibi-los! Por ser simples posso fazer ele direto no JSP ou tenho que fazer na camada de negocios? Ir lá mudar o bean, alterar valores buscar dados em outro bean, estas coisas.

Valeu mais uma vez pela atenção
Ahhh, não se exaltem, HOJE E SEXTA. HEhehehe

A 15a edição da revista Javamagazine tem uma explicação muito boa sobre isso.

Resumindo:

Existe uma grande confusão entre MVC e arquitetura de 3 camadas:

MVC => Visão-Controle-Modelo (alterei a orde para ficar mais didático)
3 Camadas => Apresentação-Negócios-Persistência

Note que: Apresentação se refere a Visão e Controle.
Note també que Modelo se refere a Negócios e Persistência.

Dessa forma, podemos juntar as idéias em
Visão - Controle - Negócios - Persistência

Exemplo:

Visão: JSP + HTML
Controle: Servlets
Negócios: Classes Inteligêntes
Persistência: DAO + Hibernate + BD

Para o seu caso, você vai colocar os cálculos nas Classes Inteligentes (Negócios).

:wink:

Então o certo é seguir a arquitetura adotada e fazer o calculo na camada inteligente, camada de negocio.
é pq acho isso trabalhoso, sendo que pra esta aplicação teria apenas que ir ao JSP pegar dois resultados e multiplica-los, agora terei que ir lá na classe fazer a busca multimplica-los e colocar mais os metodos get e set. Estou certo? Há alguma maneira mais pratica de fazer isso? Creio que não né!
Logo, para acrescentar um unico resultado, terei que mecher em 4 arquivos aqui. e não só em 1 se eu fosse mecher no JSP só!
SE tiver algo mais fácil que eu não esteja conseguindo enchergar…

Valeu Vinci.

por ser tão simples esse teu processamento, acho q tu pode ter um bean só q fizesse esses cálculos e persistisse esses valores bindados no request ou na tua sessão…

Gostei do BINDADO! ehhehehe é cada espressão que arrumamos, startei, startar, stopar…
aff!
aheauheuah
Mas voltando ao assunto, eu estaria fugidno assim do conceito da arquitetura adotada né? Logo presumo que nem sempre devemos ser puristas e adotar o escopo da coisa.

hehehe… é isso ai, como eu disse cara, tu não tem q sempre seguir isso, os patterns são usados em sistemas um tanto maiores do q um simples método q calcula a + b… hehehe, acho q seria só adicionar complexidade desnecessária no seu código… :slight_smile:

A regra é clara. Separe apresentação e implementação. Isso agrega muita qualidade ao seu serviço pois facilita a manutenção, extensão, adaptação, etc.

Mas o grau de separação obviamente vai depender do nível de complexidade do seu software. Na dúvida, separe o máximo possível.

:wink: