Desenvolvimento Em Camadas - Capitulo 02

download Desenvolvimento Em Camadas - Capitulo 02

of 10

Transcript of Desenvolvimento Em Camadas - Capitulo 02

  • 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.