none
Programação em 3 camadas - Relatórios RRS feed

  • Pergunta

  • Na programação utilizando 3 camadas - BLL, DAL, Modelos, UI - quero fazer um relatório com as vendas de acordo com a data que o usuário digitar.

    Algumas perguntas:

    O Select da pesquisa do relatório é feita na classe DAL de Vendas ou crio outra classe??

    E para eu pegar a data que o usuário digitou eu preciso criar uma propriedade(com métodos get e set) na classe de Modelos de Vendas ou  crio uma variável normal na classe do formulário que a pessoa digitou a data?

    Vlw

    quarta-feira, 21 de agosto de 2013 19:47

Respostas

  • Rodrigo1810,  blxx mano...

    A camadas DAL é responsável pela conexão na sua fonte de dados,  e não deve conter nenhuma regra de negocio..... no seu caso o select deve ficar na sua camada de negocio BLL........

    a questão de passar os valorescomo a data vc pode sim criar as propriedades na  Classe Modelos de Vendas com o modificador public para serem acessados na camada UI  e atribuir os valores para ela sem problemas !!!!

    Abraço !!!!!!!!!!!   :)


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 20:19
  • fala ai Rodrigo,

    A principal motivação para o uso de uma camada de acesso a dados (data access layer, DAL) em nossa aplicação é manter os códigos (e as tecnologias) de acesso a dados encapsulados em uma camada que fique responsável por comunicar-se com a fonte de dados, persistindo e recuperando dados.

    A DAL deve fornecer recursos como , criação, leitura, atualização e exclusão de dados. A sua criação favorece o uso de uma administração centralizada que separa o comportamento da camada de negócios das lógicas de acesso a fontes de dados e serviços.

    Mas como no seu projeto está executando os métodos dentro da DAL pode fazer o seu select para o relatório lá ........ mas fique tranquilo para os próximos projetos vc pode tentar utilizar algum tipo de Design Patterns , vc verá como faz a diferença :)

    Segue um exemplo bacana :

    http://code.msdn.microsoft.com/Acesso-a-Dados-Design-a5455cd0


    Diego Almeida Barreto System Analyst / Software Developer

    • Sugerido como Resposta Diego de Almeida Barreto (Lewis) quarta-feira, 21 de agosto de 2013 21:09
    • Marcado como Resposta Rodrigo1810 quarta-feira, 21 de agosto de 2013 23:25
    • Não Marcado como Resposta Rodrigo1810 quarta-feira, 21 de agosto de 2013 23:25
    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 21:09
  • Exato...

    é padrão para desenvolvimento de softwares.... 3 camadas é um modo de se programar sim,mas quando falamos de patterns estamos falando basicamente de criar uma aplicação com responsabilidades distribuídas, reutilização de códigos e boas práticas de programação.....

    abraço !!!!!!


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 23:58

Todas as Respostas

  • Rodrigo1810,  blxx mano...

    A camadas DAL é responsável pela conexão na sua fonte de dados,  e não deve conter nenhuma regra de negocio..... no seu caso o select deve ficar na sua camada de negocio BLL........

    a questão de passar os valorescomo a data vc pode sim criar as propriedades na  Classe Modelos de Vendas com o modificador public para serem acessados na camada UI  e atribuir os valores para ela sem problemas !!!!

    Abraço !!!!!!!!!!!   :)


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 20:19
  • Entendi...

    Mas porque o Select não pode ser feito na classe DAL?

    Na classe DAL eu fiz o Insert, Update, Delete e Listagem...

    O Select para o relatório seria conexão com o BD também... não teria que ficar na classe DAL?

    quarta-feira, 21 de agosto de 2013 20:35
  • fala ai Rodrigo,

    A principal motivação para o uso de uma camada de acesso a dados (data access layer, DAL) em nossa aplicação é manter os códigos (e as tecnologias) de acesso a dados encapsulados em uma camada que fique responsável por comunicar-se com a fonte de dados, persistindo e recuperando dados.

    A DAL deve fornecer recursos como , criação, leitura, atualização e exclusão de dados. A sua criação favorece o uso de uma administração centralizada que separa o comportamento da camada de negócios das lógicas de acesso a fontes de dados e serviços.

    Mas como no seu projeto está executando os métodos dentro da DAL pode fazer o seu select para o relatório lá ........ mas fique tranquilo para os próximos projetos vc pode tentar utilizar algum tipo de Design Patterns , vc verá como faz a diferença :)

    Segue um exemplo bacana :

    http://code.msdn.microsoft.com/Acesso-a-Dados-Design-a5455cd0


    Diego Almeida Barreto System Analyst / Software Developer

    • Sugerido como Resposta Diego de Almeida Barreto (Lewis) quarta-feira, 21 de agosto de 2013 21:09
    • Marcado como Resposta Rodrigo1810 quarta-feira, 21 de agosto de 2013 23:25
    • Não Marcado como Resposta Rodrigo1810 quarta-feira, 21 de agosto de 2013 23:25
    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 21:09
  • Procurei um pouco sobre esse Design Patterns, e vi que são modelos de programação

    É basicamente isso?

    Se sim, a programação em 3 camadas não seria um modo de se programar?

    quarta-feira, 21 de agosto de 2013 23:27
  • Exato...

    é padrão para desenvolvimento de softwares.... 3 camadas é um modo de se programar sim,mas quando falamos de patterns estamos falando basicamente de criar uma aplicação com responsabilidades distribuídas, reutilização de códigos e boas práticas de programação.....

    abraço !!!!!!


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta Rodrigo1810 quinta-feira, 22 de agosto de 2013 00:34
    quarta-feira, 21 de agosto de 2013 23:58
  • Entendi... Vlw cara

    Só mais uma coisa, existe um modo que seja melhora para programar?

    quinta-feira, 22 de agosto de 2013 00:33
  • então  Rodrigo, tudo  vai depender  da aplicação  que vc  vai  desenvolver!!!!!!!!!!!! nenhuma aplicação é igual a outra ..... cada  uam tem  as  suas proprias  caracteristcas........

    Mas por  padrão é sempre  bacana vc deixar os comportamentos da  sua aplicação  separados!!!  ex:

    DAL  - responsalvel por fazer a persistencia  na sua fonte de Dados  ---- SQL, MySQL  , ORACLE  e  ect.

    BLL -  Responsavel pela  regra de  negocios do seu projeto, validações e tudo  mais

    UI  - é a Interface  Grafica  do Seu projeto formularios  , controles  e etc.

    Mas  vc  pode  criar  outras camadas  para  o  seu projeto de acordo com a sua necessidade..... VO, DTO,REPOSITORY e  por  ai  é  sem limites......mas  vai depender  do tipo  de paradigma  que vc pretende usar no projeto......

     

    Espero Ter ajudado !!!      abraço   ;)


    Diego Almeida Barreto System Analyst / Software Developer

    quinta-feira, 22 de agosto de 2013 02:05