🔥 Apps, books, system as a service, podcast and more



Trabalhando com vários projetos dentro da mesma solução

Caro(a) Leitor(a), gostaria de falar hoje sobre como e porque trabalhar com vários projetos dentro de uma mesma solução. Lembrando que  alguns gostam de trabalhar e outros não. 
Vou falar e dar as minhas razões para trabalhar com vários projetos dentro da mesma solução mantendo o desacoplamento de regras e acesso a dados.
Tag: Projeto, Visual Studio 11, C#, Programação, Camadas

Hoje se você pega um projeto de qualquer pessoa ou da Microsoft, você vai notar que existem vários projetos dentro da mesma solução e cada um com o seu objetivo organização. 
Na verdade a organização é um ponto comum para colocar o seu projeto em várias soluções. Se você gosta do projeto organizado, tanto no código quanto nas classes, então esta é a primeira razão para utilizar vários projetos dentro da mesma solução.
Passando para o próximo ponto, todo código de regra de negócios fica desacoplado da camada de interface, ou seja, qualquer camada de interface pode chamar a regra de negócio e tudo estará funcionando.
Esse desacoplamento possibilita desenvolver software para vários tipos de interfaces diferentes, mantendo a mesma base de dados, classes de regra de negócio, tratamento de erro e envio de e-mail. 
O primeiro passo para criar um novo projeto dentro da solução web, form ou qualquer outra plataforma, basta clicar no menu File >> Add >> New Project. Figura 1.

Figura 1: Adicionando um novo projeto.


Depois de escolher a opção de novo projeto, é necessário escolher o tipo de projeto. Se esse projeto for exclusivo de classes de negócios e classes de acesso a dados, o tipo que deve ser escolhido é o Class Library.

A figura 2 mostra que, primeiro escolhe a linguagem de programação ao lado esquerdo e depois o tipo Class Library.
Figura 2 – Escolhendo o tipo Class Library.

Colocar o nome é necessário antes de clicar no botão OK. O nome dado foi Projeto.Business (responsável por acesso a dados e regra de negócio). Depois de clicar OK, o projeto foi adicionado sem qualquer problema. Figura 3.

Figura 3 – Projeto novo adicionado.



Note que existem dois projetos dentro da Solution chamada WebApplication3. O projeto chamado Projeto.Business e o outro WebApplication3. Um projeto será responsável pela regra de negócio e acesso a dados e o outro a interface.
Se houver outro projeto do tipo Windows Forms  utilize o mesmo caminho falado anteriormente, basta adicionar mais um projeto dentro da solução usando os mesmos passos anteriores.
Só que agora o tipo do projeto é diferente, isto é, agora é Windows Forms Application.

Figura 4 – Adicionando outro projeto.

Não se esqueça de colocar um nome do projeto. 

Agora a nossa solution possui 3 projetos adicionados. Um para regra de negócio e acesso a dados, outro para interface web e outro para Windows Forms. Figura 5.

Figura 5 – Solution com três projetos.

Comunicação

Como é feita a comunicação entre os projetos dentro da mesma solução? Bom, isso é mais fácil que “andar para trás”. A ferramenta Visual Studio 11 nos ajuda de forma surpreendente. 
Criei em primeiro lugar uma classe dentro do projeto Projeto.Business chamado ClassTeste. Listagem 1.

Listagem 1 – Classe criada
[CODE]
namespace Projeto.Business
{
    public class ClassTeste
    {
        public String fazendoComunicacao()
        {
            return "Comunicou";
        }
    }
}
[/CODE]

Dentro dessa classe criei um método público chamado fazendoComunicacao() que retorna uma string de parâmetro falando que comunicou. O próximo passo é referenciar o um projeto dentro do outro.
Dentro do projeto web, cliquei com o botão direito em cima de References e escolhi a opção Add Reference... Figura 6.

Figura 6 – Add Reference.

Apareceu outra tela que, posso escolher os projetos dentro da Solution. Basta apenas marcar o projeto e clicar OK. Figura 7.

Figura 7 – Adicionando um projeto.

O projeto Business foi adicionado dentro do projeto Web. Veja na figura 8 o projeto dentro do outro. 

Figura 8 – Projeto adicionado.

Basta agora digitar o código e chamar o método. Listagem 2.

Listagem 2 – Chamando o método.
[CODE]
using projeto = Projeto.Business;

        protected void Page_Load(object sender, EventArgs e)
        {
            projeto.ClassTeste classeTeste = new projeto.ClassTeste();
            Response.Write(classeTeste.fazendoComunicacao());
        }
[/CODE]

Aproveitei para mostrar uma maneira diferente de usar o projeto. Coloquei primeiro o using atribuindo a uma variável e depois usando a variável.
Veja o resultado da chamada. Figura 9.
Figura 9 – Retornando o valor.

Peço para que você faça a mesma coisa no projeto Windows Forms. O resultado foi o mesmo.  Listagem 3.

Listagem 3 – Código Windows Forms.
[CODE]
        private void Form1_Load(object sender, EventArgs e)
        {
            projeto.ClassTeste classeTeste = new projeto.ClassTeste();
            MessageBox.Show(classeTeste.fazendoComunicacao());
        }
[/CODE]

A figura 10 mostra o que o método retornou. 

Figura 10 – Resultado Windows Forms.


Isso mostra que tendo um projeto de negócios e as interfaces acessam esse projeto sem qualquer problema. Bom eu fico por aqui e qualquer dúvida pode entrar em contato pelo site pessoal www.mauriciojunior.org.

Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Top