Criando projetos em múltiplas camadas utilizando o Visual Studio 2015
Por: SonSolimar • 14/10/2018 • 6.084 Palavras (25 Páginas) • 311 Visualizações
...
O projeto MVC_Vendas.Controller conterá as classes controladoras, que, conceitualmente, deve existir uma para cada caso de uso e, sua única função, será a de fazer o meio de campo entre as classes de dados e as classes de fronteira. As classes controladoras, diferentes das classes de dados, nunca virarão objetos, porque serão formadas somente por métodos estáticos, não sendo possível criar instâncias delas. As classes controladoras, em momento algum, possuirão acesso direto a base de dados.
O projeto MVC_Vendas.BaseClass, conterá as classes de dados, representando, conceitualmente, o Model. As classes de dados são representações diretas dos dados que o sistema conterá e, além de serem instanciáveis, possuirão métodos para cumprirem com suas responsabilidades. No modelo trabalhado nesse exemplo, serão essas classes que farão a comunicação direta com o banco de dados. No entanto, existem modelos que separam essa comunicação, seja através de classes específicas de acesso (DAO) ou através da utilização de uma camada de persistência baseada no mapeamento Objeto Relacional.
Entendendo o Exemplo
O desenvolvimento de um sistema deve ser sempre baseado em um modelo de análise e nunca ao contrário. O sistema, nada mais será do que a tradução do modelo de análise para a linguagem de máquina, utilizando para isso uma linguagem de alto nível e um compilador. Então, para que seja possível continuar a criação do exemplo, a análise deve ser definida e, nesse caso, será usado a UML para representar o programa que será criado.
O programa utilizado como exemplo é um programa de vendas e sua função é única e simplesmente, registrar uma venda com seus dados bases e, no ato dessa venda, efetuar a baixa no estoque do produto vendido. Como é um exemplo acadêmico, não existe a necessidade da completitude da solução, então, um pequeno, mas prático software de vendas, será o suficiente para entendermos as técnicas que serão aplicadas.
O sistema terá três utilizações, sendo que todas serão utilizadas pelo mesmo ator, que será o ator Atendente. As utilizações serão as: Manter Clientes, Manter Produtos e Vender Produtos, conforme ilustrado na Figura 6.
[pic 9]
Figura 6 – Diagrama de Casos de Uso
Cada utilização dessas, virará um formulário da aplicação Windows Forms Application.
As classes foram definidas de forma a atenderem as necessidades do projeto e, seu diagrama está ilustrado na Figura 7.
[pic 10]
Figura 7 – Diagrama de Classes
Cada uma dessas classes de dados virará uma classe a ser implementada no MVC_Vendas.BaseClass, e serão a implementação exata de como estão definidas no modelo. Existem ferramentas, dentre elas o próprio Rational Rose, ou até mesmo o próprio Visual Studio, onde, a partir do modelo de classes definido, será gerado, automaticamente, o esqueleto das classes, ficando pendente somente a implementação dos métodos.
Ainda antes de entrar na implementação das Classes Bases, faz-se necessário a definição dos diagramas de classes participantes, que definirão a estrutura que será seguida, desde as classes de fronteira até as classes de dados passando pela controladora. Por definição, existirá um diagrama de classes participantes para cada caso de uso.
A Figura 8 trás o diagrama de classes participantes do caso de uso Manter Clientes. Nesse diagrama é definido o nome do formulário (classe de fronteira) que será criado no Windows Forms Application bem como da Classe Controladora e seus métodos e ainda, qual classe de dados será utilizada por esse caso de uso.
[pic 11]
Figura 8 – Classe Participante do Caso de Uso Manter Clientes.
A Figura 9 ilustra o Diagrama de Classes Participantes do caso de uso Manter Produtos:
[pic 12]
Figura 9 – Classes Participantes do Caso de Uso Manter Produtos.
E por fim, a Figura 10, ilustra o Diagrama de Classes Participantes do Caso de Uso Vender Produtos.
[pic 13]
Figura 10 – Classes Participantes do Caso de Uso Vender Produtos.
Codificando a Classe Produto
Agora, com as classes de fronteira, controladoras e classes de dados definidas é hora de programá-los e essa atividade se iniciará pelas classes bases, no projeto, MVC_Vendas.BaseClass.
Pegando inicialmente a classe Produto para a atividade de codificação, será necessário renomear a classe Class1 do projeto para Produto. Seu nome físico também deve ser renomeado de Class1.vb para Produto.vb. Essa atividade está ilustrada na Figura 11.
[pic 14]
Figura 11a – Renomeando a classe Class1 para Produto em VB.NET
[pic 15]
Figura 11b – Renomeando a classe Class1 para Produto em C#
Para facilitar a atividade de criação, podemos utilizar a própria ferramenta do Visual Studio e para utilizar essa ferramenta, clique no menu View->Class View que a janela Class View se abrirá e, após abrir a janela, é necessário navegar até a sub-pasta Base Class e então clicar no botão View Class Diagram conforme ilustrado na Figura 12.
[pic 16]
Figura 12 – Janela Class Diagram
Ao clicar na janela Class Diagrama, será criado um diagrama automaticamente, já com a classe produto inserida nele. Tudo o que for feito nesse diagrama será refletido na classe e tudo que for feito na classe será refletido nesse diagrama. Essa é uma das ferramentas RAD embutidas no Visual Studio e possibilita uma rápida criação do esqueleto da classe, mas não inibe a necessidade de codificação dos métodos. A Janela Class Detais, que se abre ao abrir o diagrama criado e selecionar uma das classes (no caso a classe produto), possui 4 divisões, que são:
- Methods: Lista dos procedimentos que retornam ou não valores. Nessa parte serão criados os esqueletos dos métodos que a classe possuirá.
-
...