sábado, 27 de agosto de 2011

ARQUITETURA DE DESENVOLVIMENTO (MVC)

Model-view-controller
O Model-view-controller (MVC) é um padrão de arquitetura no desenvolvimento de softwares que tem como objetivo separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos. Em outras palavras, esse padrão permite dividir um sistema em 3 (três) camadas:



Camada de Modelo (model): Representa os dados, as classes e os domínios da aplicação.  É o coração da aplicação.
  • Modela os dados e o comportamento por atrás do processo de negócios.
  • É um encapsulamento de dados e de comportamento independente da apresentação.
Camada de Visão (view): Apresenta as telas (layouts) da aplicação. Não esta preocupada em como a informação foi obtida ou onde ela foi obtida apenas exibe a informação.
  • Inclui os elementos de exibição no cliente : HTML, XML, ASP, Applets, PHP, Java.
  • É a camada de interface com o usuário.
  • É usada para receber a entrada de dados e apresentar o resultado.
Camada de Controle (controller): Trabalha na camada de entrada de dados, ele também é responsável por validar, filtrar e gravar esses dados no banco de dados. Determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de modelo e a de visão.
  • Controla e mapeia as ações.

Vantagens do modelo MVC :

  1. Como o modelo MVC gerencia múltiplos visualizadores usando o mesmo modelo é fácil manter, testar e atualizar sistemas múltiplos.
  2. É muito simples incluir novos clientes apenas incluindo seus visualizadores e controles.
  3. Torna a aplicação escalável.
  4. É possível ter desenvolvimento em paralelo para o modelo, visualizador e controle, pois são independentes. 
Desvantagens do modelo MVC:
  1. Requer uma quantidade maior de tempo para analisar e modelar o sistema.
  2. Requer pessoal especializado.
  3. Não é aconselhável para pequenas aplicações.
Principais Plataformas/Linguagens de Desenvolvimento:
  • .NET;
  • ASP;
  • ASP.NET;
  • Java;
  • Perl;
  • PHP;
  • Python;
  • Ruby.

 Dividir para conquistar. (Anatolii Karatsuba)

Até o próximo post.

0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More