segunda-feira, 4 de março de 2013

Padrões de Projetos MVC


Bom dia, Hoje falaremos sobre Padrões de Projetos MVC. O Model View Control/Controller é o padrão de projeto de arquitetura voltada a Orientação e Objetos que tem como o objetivo separar a logica de negócios da Interface do usuário e do fluxo de aplicação, permitindo o desenvolvimento e manutenção isolada delas.
Model = Modelo = logica de negócios “Dados”. - Responsável por grande parte do código digitado, ela define e gerencia toda parte da informação e a notificação sobre algo alterado nos dados. Como uma desativação/ativação de um checkBox. Exemplo pratico: Ifstream, Ofstream.
View=Visualização = Interface com usuário – Responsável pelo acesso aos dados contidos em model e especifica como esses dados colhidos serão apresentados ao usuário. Como a tela do programa. Exemplo pratico: Cin/Cout.
Control = Controle = Fluxo de Execução. )- Assume o mapeamento das ações efetuado pelo usuário, por meio de eventos e,com isso permite que a camada Model seja alterada. Exemplo pratico: If/while/CRUD.
As vantagens de obter esse padrão é que se torna fácil o gerenciamento e manutenção, independência entre as camadas e gerenciamento de varias interfaces utilizando um mesmo modelo.
Não é recomendado para aplicações de porte pequeno, se não existir tempo para analisar e modelar o sistema e precisa de uma demanda de profissionais com conhecimento especializado.

Na sala de aula começamos a separar a classe fornecedor para o Padrão MVC, foi criado o FornecedoresC, e FornecedoresV, controle = C; Visualização = V; modelo = M. Utilizamos novamente o Microsoft Viso, para agora fazer um diagrama de Classes de Projetos. Abaixo, uma explicação  


Quando criamos um objeto baseado em uma classe dentro do método de outra classe. Indica que essa classe cria um objeto da outra possui uma relação de dependência. Indicada por uma seta de linha tracejada de ponta aberta. A seta sempre aponta pra quem a classe depende (a ClasseA Depende da classeB para exisitir.).
A classe FornecedoresC possui uma propriedade que é um ojeto do tipo FornecedoresV.