Olá!
Model - View – Controller (MVC)
Para o português: Visualização – Controles – Modelos
Muitos utilizam o padrão MVC para o desenvolvimento de seus sistemas de software, sendo que este padrão de desenvolvimento é composto por três camadas bem distintas e com características bem definidas, de modo que sistemas que são elaborados na linguagem COBOL também podem ser construídos sob este padrão.
Sendo também que algumas organizações usam este modelo, entretanto pode ser encontrado com outro nome, por exemplo as três camadas podem ser chamadas de:
- Visualização – Negocial – Persistência
- Apresentação – Controlador – Manter (CRUD)
Assim quando você se deparar com um modelo desenvolvimento de software em camadas, tenha atenção aos detalhes, pois você já pode estar trabalhando com MVC. Em uma pesquisa rápida na internet é possível encontrar variados artigos a respeito de MVC.
O significado de cada camada:
Modelos: as rotinas (programas) que estão nesta camada são responsáveis pelo CRUD (Criar, Consultar, Atualizar e Deletar) os dados no DB, ou seja, são aquelas rotinas que irão conter códigos COBOL e SQL.
Controles: é a camada responsável por controlar as informações do sistema, então de um modo simplificado está recebe as requisições da camada de Visualização (usuário), verifica o “que”, “quando”, “onde”, “como” deve ser processado os dados. De modo que os controles podem requisitar aos Modelos para realizar algumas operações do CRUD, ou simplesmente validar a requisição conforme as regras de negócio.
Visualização: essa camada mostrar as informações retornadas pelos Controles ao usuário final, de modo que é também por meio dessa camada que o usuário realiza alguma requisição ao sistema. Assim, não ocorre um processamento de dados nesta camada.
O fluxo de dados entre estas camadas é demonstrado de acordo a imagem abaixo:
Em algumas situações o Java pode requisitar um Modelo diretamente. Mas porquê? Imaginamos que o Java precise montar uma combo com os nomes dos professores e que já exista um modelo que realize a consulta no DB para retornar os nomes e matriculas dos professores, então não há necessidade de criar um Controle somente para repassar os dados para a Apresentação. Lembrando que em algumas organizações não é permitido a camada de visualização acesse diretamente os Modelos.
Assim em um sistema Java e COBOL, a camada de apresentação é de responsabilidade do Java, e os Controles e Modelos são do COBOL.
Então, os programas COBOL na camada de Controle deverão analisar a requisição do usuário e aplicar as regras de negócio para processar os dados que serão retornados da camada de Modelos, e por fim o Java irá somente organizar as informações recebidas do COBOL para uma melhor visualização da resposta ao usuário.
Algumas vantagens por utilizar MVC, são:
- Facilita o reaproveitamento de código. Pois por exemplo suponhamos que se tenha que gerar três relatórios que as informações venham da mesma tabela e aplicando várias regras de negócio, assim será somente necessário a criação de um programa na camada de Modelo para pesquisas as informações e três controladores para aplicar as regras de negócio;
- Muitos sistemas estão sendo desenvolvidos sob este padrão;
- Facilidade para futuras manutenções do código, já que todo o código está bem separado e com suas características definidas;
- Quando bem testado uma parte do sistema/código já pode ser reaproveitado para as demais ações.
Mas também existem algumas desvantagens, que são:
- Maior nível de atenção aos detalhes do requisito para o desenvolvimento do sistema, de modo a separar as características dos programas;
- Como o código está bem separado, será necessário testa-lo parte a parte;
- Ter que pensar que todo o sistema será desenvolvido em MVC, não é uma tarefa simples.
Até o próximo post!
Nenhum comentário:
Postar um comentário