terça-feira, 1 de abril de 2008

Padrão Controller

* Padrão Controller é um padrão de aplicação que tem como componetes do projeto o objetivo promover uma maior independência.
É muito comum em grandes projetos a existência de complexas regras de negócios e projetos de interfaces rebuscados, e a redução do acoplamento entre os componentes é bastante importante para se atingir maior reusabilidade e mais facilidade de manuntenção sem comprometer todo o sistema. O padrão MVC entra como uma solução, por sinal muito usada em aplicações web, para a construção de sistemas cada vez mais coesos e menos acoplados.
A sigla MVC refere-se às três camadas do padrão, cada uma responsável por funções muito bem definidas. Vamos tratar de cada uma delas mais detalhadamente:
Model: É a camada que contém a lógica da aplicação. É responsável por conter as regras de negócios e, para sistemas persistentes, todo o controle de acesso e tratamento de dados vindos do banco. Recebe as requisições e geram respostas a partir do que foi pedido. Vamos imaginar um sisteminha de blog. Quando queremos cadastrar ou ver algum post, o Model recebe esta requisição, acessa o banco (ou qualquer outra fonte de dados), faz as operações necessárias e retorna a resposta para alguém que saberá tratar. A função dele termina por aí.
View: É a camada de apresentação ao usuário. É a interface que proporcionará a entrada de dados e a visualização das respostas geradas. Em aplicações web é representado pelo HTML que é processado e mostrado pelo navegador. Geralmente contém formulários de entrada de dados e tabelas, grids, etc. para mostrar as respostas. Essa camada não contém lógicas de negócios, portanto todo o processamento é feito pela Model e então a resposta é repassada para o View. No caso do nosso sisteminha de blog, o View representaria a tela de entrada de uma nova postagem ou uma página listando todos os posts feitos recentemente.
Controller: Já falamos de quem recebe as requisições e de quem as manda. Mas temos que concordar que tudo isso viraria uma grande bagunça se não houvesse alguém para organizar tudo isso. Essa é a função do controller. Essa camada funciona como um intermediário entre a camada de apresentação e a camada de negócios. É função do controller (como o própio nome já diz) coodenar o envio e o recebimento de requisições entre o Model e o View.
Existem muitos frameworks MVC para as mais diferentes liguagens como o Struts (Java) e o Symfony ou CakePHP (PHP), e muitos outros. Cabe ao desenvolvedor analisar as suas necessidades e ponderar sobre o uso ou não desse padrão.

2 comentários:

jbbf disse...

Guilherme Basques
Texto expressa, em geral, o conteúdo das aulas.
Texto demonstra, em certas, ocasiões, desconhecimento acerca daquilo que escreve.
Não usou as próprias palavras.
Boa fluência na escrita do texto.
Dificuldade de síntese.
Não contém erros conceituais significativos.
Não fez a totalidade das aulas.
Texto muito resumido!!!
Não contém bibliografia.
Texto demonstra que aluno pesquisou além do conteúdo das aulas.

Nota:6,0
Destaque negativo:Faltaram vários assuntos.
Destaque positivo:Lay-out agradável aos olhos

Maria Candida disse...

jbbf...?!
Suas críticas nada construtivas não acrescentaram nada. Um massacre totalmente desnecessário, até porque, algumas vezes reconheceu os pontos fortes da explanação do assunto, aliás, bastante complexo. Você escreveria melhor? Então faça!
mc.