Criando projetos em múltiplas camadas utilizando o Visual Studio 2015
Por: Rubens Vilarinho • 22/6/2017 • Trabalho acadêmico • 10.257 Palavras (42 Páginas) • 534 Visualizações
Criando projetos em múltiplas camadas utilizando o Visual Studio 2015
Introdução
O objetivo desse artigo é, através de modelos UML e de implementações em Visual Basic.NET e C# utilizando o Visual Studio 2015, ilustrar a aplicação do desenvolvimento de um projeto Orientado a Objetos com a clara separação das camadas, isolando suas obrigações.
Criando um projeto Múltiplas camadas com o Visual Studio 2008
Para criar um projeto em múltiplas camadas no Visual Studio, precisamos entender como ele organiza e divide os projetos. O modelo trabalhado nesse artigo utilizará dois projetos “.dll” e um projeto “.exe”, respectivamente dos tipo Class Library e Windows Project.
Para criar um projeto Windows Project, siga os seguintes passos:
- Abra o Visual Studio 2015
- Clique no Menu File -> New Projet
- Na Janela New Project, deverá ser informado o nome da solução (que agrupa os projetos), Escolhido o projeto inicial como Windows Forms Application e o nome do projeto Windows Forms deve ser dado. No caso do exemplo trabalhado a aplicação possuirá o nome de MVC_vendas e o projeto Windows Forms de MVC_Vendas.VIEW, conforme ilustrado na Figura 1.
Em VB.NET
[pic 1]
Figura 1a – Janela New Project
Em C#
[pic 2]
Figura 1b – Janela New Project
O nome MVC_Vendas será o NameSpace da solução e o WindowsApp o NameSpace da aplicação, no entanto, se for desejo do desenvolvedor alterar os NameSpaces, ele terá acesso a essa informação através da pasta MyProject. O NameSpace foi separado por pontos, porque a aplicação terá mais de um projeto e todas serão definidas com o NameSpace inicial MVC_Vendas.
Após a confirmação da criação da solução, clicando no botão Ok, o Visual Studio criará a estrutura inicial da solução que será criada.
No Solution Explorer pode-se visualizar a solução e o seu projeto Windows Forms que foi criado, conforme ilustrado na Figura 2.
[pic 3]
Figura 2 – Solution Explorer
Após a criação da aplicação Windows (.EXE), o projeto para assumir as características multi-camadas, precisa de mais dois projetos, que representarão, respectivamente, a camada do modelo de dados (Model) e a camada de classes controladoras (Controller). Esses dois projetos, nesse exemplo inicial, serão Class Library.
Para se adicionar um projeto na solução, clique no menu File->Add->New Project e na Janela New Project, escolha o projeto Class Library e dê o nome para ele de MVCVendas.Controller, conforme ilustrado na Figura 3.
[pic 4]
Figura 3a – Janela New Project – Controladoras.
[pic 5]
Figura 3b – Janela New Project – Controladoras.
Após adicionar o projeto das classes controladoras na solução, o Solution Explorer passará a ter um aspecto diferente, exibindo a solução e os seus dois projetos, conforme ilustrado na Figura 4.
[pic 6]
Figura 4 – Solution Explorer com dois projetos
Para se ter o ambiente todo preparado para a solução que será desenvolvida, mais um projeto Class Library precisa ser adicionado. Esse projeto terá o nome de MVC_Vendas.MODEL e corresponderá ao modelo de dados.
Clique no menu File->Add->New Project e selecione o Class Library novamente, passando o nome informado, conforme ilustrado na Figura 5.
[pic 7]
Figura 5a – New Project da MVC_Vendas.BaseClass.
[pic 8]
Figura 5b – New Project da MVC_Vendas.BaseClass.
O Solution Explorer, a partir da adição do terceiro projeto, permitirá ao desenvolvedor navegar pelos projetos para fazer as alterações necessárias e demais inserções para o seu desenvolvimento.
Para continuar o desenvolvimento da aplicação faz-se importante entender-se a divisão conceitual que está sendo feita. O projeto Windows Forms Application representa a parte de interação com o usuário e sua única responsabilidade será a de gerenciar esse interfaceamento. Em momento algum as classes de fronteira farão acesso ao banco de dados diretamente, sendo essa responsabilidade, no projeto que está sendo construído da BaseClass.
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.
...