Como poderíamos utilizar MVC em aplicação 3 camadas?
Olá Consultores,
Estive lendo o artigo da ClubeDelphi (Edição 102) que trata de MVC, achei muito interessante. Gostaria de saber como trabalhar com MVC em aplicações 3 camadas?
[]s
Alexandre Amaral.
Alexandre Neto
Curtidas 0
Respostas
Alexandre Neto
07/01/2009
Só complementando a pergunta anterior, quando falo em 3 camadas, me refiro a camadas físicas. Onde temos um computador servidor que abrigará o servidor de aplicação e os terminais que rodarão a aplicação cliente.
[]s
Alexandre Amaral.
P.s.: Trabalho com Delphi 7 + BSS + FB 2.1
GOSTEI 0
Ricardo Boaro
07/01/2009
Olá Alexandre;
O modelo MVC - Model-View-Controller e a forma de criarmos aplicações em 3 camadas, tem tudo haver, pois esse modelo esta implicitamente inserido em 3 camadas. Veja, se analisarmos cada conceito separadamente fica óbvio esse conceito.
Model:
A representação "domínio" específica da informação em que a aplicação opera. Por exemplo, aluno, professor e turma fazem parte do domínio de um sistema acadêmico. É comum haver confusão pensando que Model é um outro nome para a camada de domínio. Lógica de domínio adiciona sentido a dados crus (por exemplo, calcular se hoje é aniversário do usuário, ou calcular o total de impostos e fretes sobre um determinado carrinho de compras).Muitas aplicações usam um mecanismo de armazenamento persistente (como banco de dados) para armazenar dados. MVC não cita especificamente a camada para acesso aos dados, porque subentende-se que estes métodos estariam encapsulados pelo Model.
View:
"Renderiza" o model em uma forma específica para a interação, geralmente a interface com o usuário.
Controller:
Processa e responde a eventos, geralmente ações do usuário, e pode invocar alterações no Model. É lá que é feita a validação dos dados e também é onde os valores postos pelos usuários são filtrados.
Criando um analogia ao modelo 3 camadas podemos dizer que a camada que chamamos de Cliente (Interface com o usuario) seria o View, ja a camada de regras de negócio, seria o Controller, e finalmente a camada Servidora (responsável pela comunicacao com o banco) pode ser comparada ao Model.
Mas veja MVC, vai muito alem de separação de aplicação em camadas, cuidado para não confundir MVC com separação de camadas. Camadas dizem como agrupar os componentes. O MVC diz como os componentes da aplicação interagem.
Portanto 3 camadas e MVC, é um casamento perfeito, so precisamos ficar atentos na hora de separarmos os componentes e os algoritmos de controle em suas respectivas camadas.
Espero ter clareado as coisas para vc, qualquer dúvida durante a criação de sua aplicação em 3 camadas utilizando o padrao MVC fique a vontade para nos consultar.
Abraço!
O modelo MVC - Model-View-Controller e a forma de criarmos aplicações em 3 camadas, tem tudo haver, pois esse modelo esta implicitamente inserido em 3 camadas. Veja, se analisarmos cada conceito separadamente fica óbvio esse conceito.
Model:
A representação "domínio" específica da informação em que a aplicação opera. Por exemplo, aluno, professor e turma fazem parte do domínio de um sistema acadêmico. É comum haver confusão pensando que Model é um outro nome para a camada de domínio. Lógica de domínio adiciona sentido a dados crus (por exemplo, calcular se hoje é aniversário do usuário, ou calcular o total de impostos e fretes sobre um determinado carrinho de compras).Muitas aplicações usam um mecanismo de armazenamento persistente (como banco de dados) para armazenar dados. MVC não cita especificamente a camada para acesso aos dados, porque subentende-se que estes métodos estariam encapsulados pelo Model.
View:
"Renderiza" o model em uma forma específica para a interação, geralmente a interface com o usuário.
Controller:
Processa e responde a eventos, geralmente ações do usuário, e pode invocar alterações no Model. É lá que é feita a validação dos dados e também é onde os valores postos pelos usuários são filtrados.
Criando um analogia ao modelo 3 camadas podemos dizer que a camada que chamamos de Cliente (Interface com o usuario) seria o View, ja a camada de regras de negócio, seria o Controller, e finalmente a camada Servidora (responsável pela comunicacao com o banco) pode ser comparada ao Model.
Mas veja MVC, vai muito alem de separação de aplicação em camadas, cuidado para não confundir MVC com separação de camadas. Camadas dizem como agrupar os componentes. O MVC diz como os componentes da aplicação interagem.
Portanto 3 camadas e MVC, é um casamento perfeito, so precisamos ficar atentos na hora de separarmos os componentes e os algoritmos de controle em suas respectivas camadas.
Espero ter clareado as coisas para vc, qualquer dúvida durante a criação de sua aplicação em 3 camadas utilizando o padrao MVC fique a vontade para nos consultar.
Abraço!
GOSTEI 0
Alexandre Neto
07/01/2009
Olá Ricardo,
Não estou conseguindo enxergar como o IObserver consegue "observar" as alterações nos objetos em camadas distintas?
Em uma aplicação Stand Alone é mais fácil enxergar isso por estar tudo na memória de uma mesma máquina.
Você teria como me passar algum exemplo simples ou link para acessar tal material?
[]s
Alexandre Amaral.
GOSTEI 0
Ricardo Boaro
07/01/2009
OK.
Vou preparar um material ou exemplo para vc, envia até segunda sem falta.
Abraço
Vou preparar um material ou exemplo para vc, envia até segunda sem falta.
Abraço
GOSTEI 0
Ricardo Boaro
07/01/2009
Vamos lá
Agora analisando em 3 camadas físicas, vou explicar a vc de uma forma prática.
Primeiramente, vamos entender quem é quem novamente no modelo MVC
Model = é a máquina servidora com a base de dados
View = a aplicação rodando nos nas estaçoes
Controller = processa as informaçoes, requisições que as estações enviam para o servidor(banco de dados), como por exemplo uma consulta na tabela de cliente, essa será requisitada pela aplicação cliente, nas estaçoes, passará pelos Controller que fará a requisição ao servidor (model).
O Observer que vc citou anteriormente, pode ser a camada cliente (nas estações) que fica "escutando", se há alguma alteração na base de dados para atualizar. Mas lembre-se que Observer, faz parte de um padrão de projeto (Design Pattern), que define algumas regras básicas a serem seguidas, vc pode, assistir uma vídeo-aula sobre o assunto no LinkAbaixo
https://www.devmedia.com.br/articles/viewcomp.asp?comp=5001
Fique a vontade para nos questionar, caso vc ainda tenha dúvidas.
Aguardo seu retorno.
Abraço
Agora analisando em 3 camadas físicas, vou explicar a vc de uma forma prática.
Primeiramente, vamos entender quem é quem novamente no modelo MVC
Model = é a máquina servidora com a base de dados
View = a aplicação rodando nos nas estaçoes
Controller = processa as informaçoes, requisições que as estações enviam para o servidor(banco de dados), como por exemplo uma consulta na tabela de cliente, essa será requisitada pela aplicação cliente, nas estaçoes, passará pelos Controller que fará a requisição ao servidor (model).
O Observer que vc citou anteriormente, pode ser a camada cliente (nas estações) que fica "escutando", se há alguma alteração na base de dados para atualizar. Mas lembre-se que Observer, faz parte de um padrão de projeto (Design Pattern), que define algumas regras básicas a serem seguidas, vc pode, assistir uma vídeo-aula sobre o assunto no LinkAbaixo
https://www.devmedia.com.br/articles/viewcomp.asp?comp=5001
Fique a vontade para nos questionar, caso vc ainda tenha dúvidas.
Aguardo seu retorno.
Abraço
GOSTEI 0
Alexandre Neto
07/01/2009
Olá Ricardo,
infelizmente não conseguir ter acesso ao vídeo indicado por se tratar de um post fechado.
[]s
Alexandre Amaral.
GOSTEI 0
Ricardo Boaro
07/01/2009
Estou falando com o pessoal responsável para liberar esse post para vc.
Abraço
Abraço
GOSTEI 0
Ricardo Boaro
07/01/2009
Dr.
Vc pode logar no portal e baixar o vídeo que lhe passei o link no post anterior, foram adicionados créditos a sua conta para vc poder assistí-lo.
Aguardo o seu retorno para encerrarmos o chamado.
Abraço
Vc pode logar no portal e baixar o vídeo que lhe passei o link no post anterior, foram adicionados créditos a sua conta para vc poder assistí-lo.
Aguardo o seu retorno para encerrarmos o chamado.
Abraço
GOSTEI 0
Alexandre Neto
07/01/2009
Olá Ricardo,
Blz, consegui baixar o vídeo.
Valeu!
Até a próxima.
GOSTEI 0