Isso eh responsabilidade do C do MVC - a camada de controle.
Pelo que entendi do seu post, vc jah sacou que precisa separar a camada de negocios da camada de apresentacao. Pois a camada que controla a comunicacao entre interfaces visuais (web, desktop, celulares) e o modelo de negocio (beans no servidor de aplicacoes, por exemplo), e a camade controle. Nela, toda “complexidade” (vejam bem senhores, eu usei aspas =) e versatilidade do codigo sao mais visiveis.
Rodrigo
Na verdade o Controller é responsável pela integração View- > Model, não o contrário. A comunicação entre Model -> View no MVC é feita através d eObservers, se você não implementar assim não tem MVC.
<reflexão aceitaSugestão=“true” aceitaCrítica=“true”>
Somente lendo o livro “Struts em Ação” e Design Patterns [GoF] ficou claro pra mim essa relação.
Quando aprendi, ou melhor, quando comecei a usar o “MVC”, achando que sabia exatamente o que é, também achava que a integração Model -> View era responsabilidade do Controller.
Na verdade muita gente ainda pensa que é.
Já na WEB o MVC tem uma aplicação ligeiramente diferente, influenciada por uma arquitetura em camadas, onde cada camada se comunica somente com sua camada adjacente.
O que acontece muito, inclusive acontecia comigo, era implementar esta “versão” de MVC em aplicativos Desktop.
</reflexão>
O problemé que MVC pra web (o dito Model 2) não é MVC.
Simples assim. É um Front Controller.
Pessoal,
To querendo que a cada ação que seja tomada na camada de negócios, a tela seja notificada. Se eu fizer ação A, eu quero que o usuário seja informado disso (já que toda a operação demora uns 40segundos, não fica nada legal eu deixar ele no “escuro”).
A questão é que eu to querendo utilizar todo o código da camada de negócios em outra aplicação WEB. Eu não queria ter que implementar essas classes de negócios extendendo a Observable, pois eu acho que na WEB eu não vou precisar disso.
Alguém pode me dar uma dica de como ficar notificando o usuário do que está acontecendo e fazer com o meu código sirva tanto para desktop quanto para swing?
Beleza Rodrigo,
Mas o problema é que a notificação a tela é feita somente quando a aplicação é desktop.
Se eu colocar minhas classes de negócios extendendo a Observable, ela só será util com SWING, pq na WEB ela não terá utilidade, entende?
Então o meu problema é: Como fazer com que a camada de negócios seja utilizada tanto em SWING como em JSP, sendo que em Swing eu quero o usuário seja informado a cada passo da operação.
Abrç
Certo pessoal, blz.
No entanto, ainda não consegui entender como fazer.
implementando o pattern Observable:
Swing
1 - A tela tem que implementar uma interface.
2 - A classe de negócio tem que extender a uma classe.
3 - A classe de negócio tem que conhecer a qual tela está “ligada”.
WEB
Eu não quero ter esta funcionalidade, porque eu acho que não preciso notificar o usuário a cada ação que estiver sendo tomada no servidor!
Agora a questão: Como fazer para que eu possa aproveitar a camada de negócios tanto para Desktop quanto para Web?
Abrçs