| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 11:52:45
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
rodrigoy wrote:... infra (esse miolo do diagrama) é tudo quanto é framework e libs que usamos para suportar principalmente o Domain Model (Hibernate, XStream, JavaMail, JMS, JCR e zilhares de outros).
Shoes, vc concorda com isso acima? JavaMail e JMS são "data acess"?
pcalcado wrote:
Então, sendo "inra-estrutura" mais que data layer porque colocar ela como Camadas empilhadas?
A parte de infra que é importante, que precisamos separar e possivelmente isolar, são esses "serviços" de suporte ao Domain Model. A infra de suporte das outras camadas sempre são acopladas com elas e dificilmente há isolamento.
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 12:00:21
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
rodrigoy wrote:
rodrigoy wrote:... infra (esse miolo do diagrama) é tudo quanto é framework e libs que usamos para suportar principalmente o Domain Model (Hibernate, XStream, JavaMail, JMS, JCR e zilhares de outros).
Shoes, vc concorda com isso acima? JavaMail e JMS são "data acess"?
[...]
A parte de infra que é importante, que precisamos separar e possivelmente isolar, são esses "serviços" de suporte ao Domain Model. A infra de suporte das outras camadas sempre são acopladas com elas e dificilmente há isolamento.
Uma framework como XStream vai depender da finalidade. É para persistir? É para gerar webservice REST?
O que -acredito- você não entendeu é que Camada != Camada. A Camada Fundamental -Pae-Jones- vai conter este tipo de framework/biblioteca. A Camada -Apresentação/Neócios...- vai separar seu uso. A Camada' de Apresentação pode usar recursos da Camada'' Fundamental ou de Infra-Estrutura.
Seu diagrama não fala de Camada de Domínios -que é o assunto do meu blog-, fala de Camadas como padrão arquitetural. Quando falei para ovcê ler o blo não era sobre as Camadas em si mas em termos de organização do código em diversos domínios.
Classes dos domínios (Camadas Page-Jones) inferiores podem ser acessados em qualquer lugar. Acho que a confusão toda se deu porque tentamos relacionar seu gráfico com os domínios. Seu gráfico possui um "Infra-estrutura" mas isso não significa apenas Camadas como a de Persistência e sim coisas que sustentam a aplicação em si, por isso sueri que mudasse.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 12:04:44
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
wagnerfrancisco wrote:E se um servidor fornecer apenas XML e delegar a responsabilidade de apresentação para os seus clientes, pode-se dizer que ele está completamente isento da camada de apresentação?
Não. Apresentação não significa GUI. Apresentação significa "o que o sistema mostra 'para fora' ". As palavras não sua muito boas, mas a ideia é que a camada de apresentação gerencia a interação da aplicação com o seu usuário. Mas usuário não é necesáriamente usuário humano. Então esse XML gerado ai é a apresentação do sistema. É o que ele mostrar 'para fora'.
Um Webservice , por exemplo, tem uma apresentação que é o protocolo SOAP.
Posso estar enganado, mas parece-me que muita gente confunde o modelo de domínio de uma aplicação com o componente Model do MVC.
Sim. É verdade. Também é confundido com outros padrões como Façade ou Adapter.
O Model do MVC é um objeto da mesma camada, cuja interface e funcionamento obdecem os padrões do MVC e da camada em particular. O exemplo mais claro disto é o TableModel do Swing. O contrato do Model é com a View e o Controler, não é com o dominio. O model é na realidade uma forma de Mediador que traduz informação entre a camada MVC e a camada "abaixo".
Essa camada tem um ponto de entrada. Agora sim, um façade ou um serviço ou algo assim. O modelo usa o façade/serviço/etc.., mas ele em si proprio não é um façade/servicço/etc.
No Struts, por exemplo, o model seria o Action. Muita gente defende que o Action é o controlador, mas na realidade o controlador é o próprio struts na figura do seu servlet principal. É o action que é chamado em ultima instancia é ai que a interação com o dominio acontece. Logo, ele é o Model do struts ( sendo o controlador o proprio struts e a view páginas JSP ou templates em outras tencologias).
Realmente a confusão do conceito do component Model do MVC e o cnceito de Modelo em geral se confundem. Especialmente com o modelo de dominio.
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 12:47:24
|
baudamix
JavaTeenager
![[Avatar]](/images/avatar/396695e64b47b6de6069029adaa04f47.jpg)
Membro desde: 14/02/2008 10:03:33
Mensagens: 153
Localização: São Paulo
Offline
|
pcalcado wrote:Não, o que o exemplo prova é que é possível ter MVC sem Camadas, além de ser possível ter Camadas sem MVC. Não confunda o que você acha correto-o que é correto, na verdade, depende da situação- com o que é o padrão.
Como eu disse eu não faria e não recomendo isso...[obs.:minha opinião pessoal]
Se vc trabalha e recomenda fazer MVC assim, tudo bem "dependendo da situação"... se é correto ou não eai isso "dependendo da situação" entendo, só gostaria de um exemplo real para aprender um pouco mais...
::sua posição tem sido mto didática para minha e pouco real(dia-a-dia)...
O q eu acho correto pode e deve estar errado e quero aprender e refinar meus conhecimento...
obrigado por insistir pcalcado...
até
|
[BauDaMix] |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 16:42:55
|
wagnerfrancisco
JavaGuru
![[Avatar]](/images/avatar/8557f7303f1355575b6e95d411c9cead.jpg)
Membro desde: 02/10/2007 10:05:02
Mensagens: 243
Localização: Criciúma / SC
Offline
|
sergiotaborda wrote:
wagnerfrancisco wrote:E se um servidor fornecer apenas XML...
Não. Apresentação não significa GUI. Apresentação significa "o que o sistema mostra 'para fora' ". As palavras não sua muito boas, mas a ideia é que a camada de apresentação gerencia a interação da aplicação com o seu usuário. Mas usuário não é necesáriamente usuário humano. Então esse XML gerado ai é a apresentação do sistema. É o que ele mostrar 'para fora'.
Um Webservice , por exemplo, tem uma apresentação que é o protocolo SOAP.
Interessante. Eu já havia lido em algum lugar, talvez no teu blog ,mas não havia assimilado.
Obrigado!
|
http://wagnermezaroba.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 03:48:49
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
baudamix wrote:
Se vc trabalha e recomenda fazer MVC assim, tudo bem "dependendo da situação"... se é correto ou não eai isso "dependendo da situação" entendo, só gostaria de um exemplo real para aprender um pouco mais...
::sua posição tem sido mto didática para minha e pouco real(dia-a-dia)...
O q eu acho correto pode e deve estar errado e quero aprender e refinar meus conhecimento...
obrigado por insistir pcalcado...
A questão é simples, creio. A pergunta é: dá para ter MVC sem Camadas e vice-versa? A resposta é: sim, um não depende do outro.
Se desenvolver sem Camadas é ruim, se toda aplicação do mundo deveria ser MVC ou qualquer outra pergunta parecida é outro assunto.
Se você não usar MVC na sua aplicação web, digamos que resolver fazer tudo com servlets que cospem HTML por algum motivo, por exemplo porque você não pode ter páginas JSP, você não precisa deixar de usar Camadas.
Se você usa MVC mas sua aplicação é apenas um front-end burro para um banco de dados ou outro sistema e o banco de dados é seu modelo você não tem Camadas mas tem MVC. Aliás, o que mais tem por aí é sistema onde as regras de negócio estão nas Actions. Estes sistemas não têm Camadas bem definidas mas ainda assim podem ser MVC.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 07:14:15
|
baudamix
JavaTeenager
![[Avatar]](/images/avatar/396695e64b47b6de6069029adaa04f47.jpg)
Membro desde: 14/02/2008 10:03:33
Mensagens: 153
Localização: São Paulo
Offline
|
pcalcado , obrigado...
|
[BauDaMix] |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 19:17:40
|
cmoscoso
Virtual Machine Man
Membro desde: 23/10/2007 10:08:29
Mensagens: 687
Offline
|
wagnerfrancisco wrote:E se um servidor fornecer apenas XML e delegar a responsabilidade de apresentação para os seus clientes, pode-se dizer que ele está completamente isento da camada de apresentação?
Se está delegando a apresentação é porque a idéia é ficar independente dela, ou então algo está errado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 20:14:16
|
agazola
What is classpath?
Membro desde: 25/04/2008 20:47:28
Mensagens: 9
Offline
|
O model é na realidade uma forma de Mediador que traduz informação entre a camada MVC e a camada "abaixo". Essa camada tem um ponto de entrada. Agora sim, um façade ou um serviço ou algo assim. O modelo usa o façade/serviço/etc.., mas ele em si proprio não é um façade/servicço/etc.
Muito boa sua explicação Sérgio... só tenho uma dúvida: é sempre necessário ter um modelo na camada de apresentação do MVC que, então , se encarregará de acessar o domain model/ service layer?? Em alguns casos, esse model vai simplesmente delegar p/ o service layer/façade e, neste caso, não seria melhor o controlador trabalhar diretamente com a interface p/ o service layer? Se sim, neste caso, o próprio service layer faria o papel do modelo MVC, estando assim situado em outra camada.
|
Alexandre Gazola
"Que aproveita ao homem ganhar o mundo inteiro e perder a sua alma?" (Mc 8:36) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 22:14:17
|
wagnerfrancisco
JavaGuru
![[Avatar]](/images/avatar/8557f7303f1355575b6e95d411c9cead.jpg)
Membro desde: 02/10/2007 10:05:02
Mensagens: 243
Localização: Criciúma / SC
Offline
|
cmoscoso wrote:
wagnerfrancisco wrote:E se um servidor fornecer apenas XML e delegar a responsabilidade de apresentação para os seus clientes, pode-se dizer que ele está completamente isento da camada de apresentação?
Se está delegando a apresentação é porque a idéia é ficar independente dela, ou então algo está errado.
Sim. Quando eu fiz a pergunta já fiz imaginando uma situação que estou "vivenciando" hoje. Quero que o servidor apenas disponibilize o conteúdo em forma de XML. A parte de apresentação pro usuário humano gostaria que ficasse por conta de outras aplicações, seja J2ME, Swing ou outro servidor que somente "monte" as páginas Web pra acesso. Outro motivo foi a possível troca de dados com outras aplicações semelhantes posteriormente.
Falou!
|
http://wagnermezaroba.blogspot.com |
|
|
 |
|
|