Fórum Como poderíamos utilizar MVC em aplicação 3 camadas? #1686

07/01/2009

0

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

Alexandre Neto

Responder

Posts

08/01/2009

Alexandre Neto

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
Responder

Gostei + 0

08/01/2009

Ricardo Boaro

               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!
Responder

Gostei + 0

09/01/2009

Alexandre Neto

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.
Responder

Gostei + 0

10/01/2009

Ricardo Boaro

                 OK.
                 Vou preparar um material ou exemplo para vc, envia até segunda sem falta.

                 Abraço
Responder

Gostei + 0

10/01/2009

Ricardo Boaro

                    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

                   
Responder

Gostei + 0

10/01/2009

Alexandre Neto

Olá Ricardo,   infelizmente não conseguir ter acesso ao vídeo indicado por se tratar de um post fechado.   []s Alexandre Amaral.
Responder

Gostei + 0

12/01/2009

Ricardo Boaro

           Estou falando com o pessoal responsável para liberar esse post para vc.

           Abraço
Responder

Gostei + 0

12/01/2009

Ricardo Boaro

              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
Responder

Gostei + 0

12/01/2009

Alexandre Neto

Olá Ricardo,   Blz, consegui baixar o vídeo.   Valeu!   Até a próxima.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar