desenvolvimento em camadas - capitulo 02
TRANSCRIPT
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
1/24
2 – A Camada de Acesso a Dados
Essa camada é normalmente também chamada de DAL (Data AccessLayer). Nessa camada vamos implementar os métodos de inserção,
atualização, exclusão e listagem referentes a todas as tabelasexistentes no nosso projeto.
Essa é uma tarefa simples, já que para criar cada classe usaremos osnomes dos campos da respectiva tabela existente no banco de dados.
Você se lembra do nosso desenho que representa as três camadas?Aqui está ele:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
2/24
Nós começamos o desenvolvimento da aplicação da camada maisinterna até a mais externa. Dessa forma, iniciaremos aimplementação com a camada de acesso a dados (DAL).
Dentro da camada DAL nós temos o projeto Modelos. Vamos criar
esse projeto.
No projeto chamado Modelos iremos implementar as classes:
• ClienteInformation.cs
• ProdutoInformation.cs e
• VendaInformation.cs
É necessário criar uma classe para cada tabela do nosso projeto. A partir do menu Iniciar > Programas > Microsoft Visual Studio 2005,abra o Microsoft Visual Studio 2005.
Clique no Menu File > New > Project...
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
3/24
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
4/24
Abrindo o Windows Explorer, podemos ver que a pasta Loja foi criadano drive C: Dentro da pasta Loja foi criada a pasta do projeto Modelos.
Ok, agora vamos voltar para o MS Visual Studio.
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
5/24
Do lado direito vemos a área do Solution Explorer. - Clique com o botão direito sobre o arquivo Class1.cs e escolhaRename para renomear a classe para ClienteInformation.cs; Ao renomear o arquivo da classe, perceba que o nome da classemuda automaticamente na janela de código (public class
ClienteInformation). - Na janela de código à esquerda, inclua o nome do nosso projeto(Loja) no namespace, de maneira que o namespace fiqueLoja.Modelos como na figura abaixo:
Vamos codificar a classe ClienteInformation. Para isso, copie e cole ocódigo abaixo entre as chaves da classe ClienteInformation:
private int _codigo;
public int Codigo
{ get { return _codigo; } set { _codigo = value; }
}
private string _nome; public string Nome {
get { return _nome; }
set { _nome = value; } }
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
6/24
private string _email; public string Email {
get { return _email; }
set { _email = value; } }
private string _telefone; public string Telefone
{ get { return _telefone; } set { _telefone = value; }
}
Na implementação da classe ClienteInformation vemos que estamosdefinindo campos e propriedades para cada campo da tabela deClientes que criamos no banco de dados.
Agora a codificação da classe ClienteInformation está completa comona listagem a seguir:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
7/24
usi ng Syst em;
usi ng System. Col l ect i ons. Gener i c;
usi ng Syst em. Text ;
namespace Loj a. Model os
{
publ i c cl ass Cl i ent eI nf or mat i on
{
pr i vat e i nt _codi go;
publ i c i nt Codi go
{
get { return _codi go; }
set { _codi go = val ue; }
}
pr i vat e st r i ng _nome;
publ i c s t r i ng Nome
{
get { return _nome; }
set { _nome = val ue; }
}
pr i vat e st r i ng _emai l ;
publ i c s t r i ng Emai l
{
get { return _emai l ; }
set { _emai l = val ue; }
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
8/24
}
pr i vat e st r i ng _t el ef one;
publ i c s t r i ng Tel ef one
{
get { return _t el ef one; }
set { _t el ef one = val ue; }
}
}
}
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
9/24
Vamos implementar a Classe ProdutoInformation.cs.
Clique com o botão direito sobre o projeto Modelos e então escolhaAdd. Em seguida escolha New Item... como na figura abaixo:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
10/24
Na janela Add New Item, escolha o template Class e digiteProdutoInformation.cs no campo nome. Clique em Add paraadicionar a nova classe ao projeto Modelos.
A nova classe ProdutoInformation.cs agora já esta criada:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
11/24
Altere o namespace de modo que ele fique assim:
namespace Loj a. Model os
Ok. Agora copie e cole o código abaixo dentro da classe
ProdutoInformation:
private int _codigo; public int Codigo { get { return _codigo; } set { _codigo = value; } } private string _nome; public string Nome
{
get { return _nome; } set { _nome = value; } }
private decimal _preco; public decimal Preco { get { return _preco; } set { _preco = value; } }
private int _estoque; public int Estoque { get { return _estoque; } set { _estoque = value; } }
O código completo da nossa classe ProdutoInformation.cs ficaráassim:
usi ng Syst em;
usi ng System. Col l ect i ons. Gener i c;
usi ng Syst em. Text ;
namespace Loj a. Model os
{
publ i c cl ass Produt oI nf or mat i on
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
12/24
{
pri vat e i nt _codi go;
publ i c i nt Codi go
{
get { return _codi go; }
set { _codi go = val ue; }
}
pri vat e st r i ng _nome;
publ i c st r i ng Nome
{
get { return _nome; }
set { _nome = val ue; }
}
pri vat e deci mal _preco;
publ i c deci mal Preco
{
get { return _pr eco; }
set { _preco = val ue; }
}
pri vat e i nt _est oque;
publ i c i nt Est oque
{
get { return _est oque; }
set { _est oque = val ue; }
}
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
13/24
}
}
Muito bem! Já implementamos as classes do projeto Modelo para a
tabela de Clientes e para a tabela de Produtos. Agora vamos fazer omesmo para a tabela de Vendas:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
14/24
Clique com o botão direito sobre o projeto Modelos e então escolhaAdd. Em seguida escolha New Item... como na figura abaixo:
Na janela Add New Item, escolha o template Class e digiteVendaInformation.cs no campo nome. Clique em Add paraadicionar a nova classe ao projeto Modelos.
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
15/24
A nova classe VendaInformation.cs agora já esta criada:
Altere o namespace de modo que ele fique assim:
namespace Loj a. Model os
Ok. Agora copie e cole o código abaixo dentro da classeVendaInformation:
private int _codigo; public int Codigo {
get { return _codigo; } set { _codigo = value; }
}
private DateTime _data; public DateTime Data { get { return _data; } set { _data = value; } }
private int _quantidade; public int Quantidade
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
16/24
{ get { return _quantidade; } set { _quantidade = value; } }
private bool _faturado; public bool Faturado { get { return _faturado; } set { _faturado = value; }
}
private int _codigoCliente; public int CodigoCliente {
get { return _codigoCliente; } set { _codigoCliente = value; } }
private int _codigoProduto; public int CodigoProduto { get { return _codigoProduto; } set { _codigoProduto = value; } }
private string _nomeCliente;
public string NomeCliente { get { return _nomeCliente; } set { _nomeCliente = value; } }
O código completo da nossa classe VendaInformation.cs ficará assim:
usi ng Syst em;
usi ng System. Col l ect i ons. Gener i c;
usi ng Syst em. Text ;
namespace Loj a. Model os
{
publ i c cl ass VendaI nf ormat i on
{
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
17/24
pri vat e i nt _codi go;
publ i c i nt Codi go
{
get { return _codi go; }
set { _codi go = val ue; }
}
pri vat e Dat eTi me _dat a;
publ i c Dat eTi me Dat a
{
get { return _dat a; }
set { _dat a = val ue; }
}
pri vat e i nt _quant i dade;
publ i c i nt Quant i dade
{
get { return _quant i dade; }
set { _quant i dade = val ue; }
}
pri vat e bool _f at ur ado;
publ i c bool Fat urado
{
get { return _f at ur ado; }
set { _f aturado = val ue; }
}
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
18/24
pr i vat e i nt _codi goCl i ent e;
publ i c i nt Codi goCl i ent e
{
get { return _codi goCl i ent e; }
set { _codi goCl i ent e = val ue; }
}
pri vat e i nt _codi goPr odut o;
publ i c i nt Codi goProdut o
{
get { return _ codi goProdut o; }
set { _codi goProduto = val ue; }
}
pri vat e st r i ng _nomeCl i ent e;
publ i c st r i ng NomeCl i ent e
{
get { return _nomeCl i ent e; }
set { _nomeCl i ente = val ue; }
}
}
}
Agora que implementamos no projeto Modelos as classes referentes atodas as tabelas contempladas no nosso projeto, vamos compilar oprojeto através da opção Build.
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
19/24
Para compilar o projeto vamos fazer o seguinte. No Solution Explorer,clique com o botão direito sobre o projeto Modelos e escolha a opçãoBuild:
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
20/24
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
21/24
O arquivo Modelos.dll contém toda a informação que implementamosnas classes desse projeto e é ele que será usado no próximo projetoa ser implementado, que é a Camada de Acesso a Dados ou DAL(Data Access Layer).
Após terminar o projeto Modelos, muitos programadores costumamcriar um Diagrama de Classes para ter uma visão melhor da sua arte.Vamos criar o Diagrama de Classes?
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
22/24
De volta ao Visual Studio, clique com o botão direito sobre o projetoModelos e escolha Add > New Item...
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
23/24
Na janela Add New Item, escolha o template Class Diagram. DigiteModelos.cd no nome e clique em Add para criar o nosso diagramade classes como a seguir.
O ambiente chamado Class Designer é exibido.
-
8/19/2019 Desenvolvimento Em Camadas - Capitulo 02
24/24
Para a criação do diagrama vamos arrastar as classesClienteInformation, ProdutoInformation e VendaInformation doSolution Explorer para o Class Designer (Arquivo Modelos.cd) como aseguir:
Com o Diagrama de Classes fica fácil a distinção entre os campos e aspropriedades que implementamos no nosso projeto.
O asterisco ao lado do nome do diagrama Modelos.cd* indica queele ainda não foi salvo. Digite + S para salvar o arquivo.
Se olharmos para o nosso desenho das camadas, vamos verificar queo próximo passo é implementar as classes da camada DAL. Faremosisso no próximo artigo.