none
DAO e conexao RRS feed

  • Pergunta

  • estou usando classes DAO

    no construtor da classe elas instanciam uma classe conexao

    que conecta com o banco e tem os metodos para executar comandos

    retornar datasets

    a dúvida é a seguinte

    em um webform tenho 4 dropdonws que instaciam 4 DAOS

    então cada uma abre e fecha o banco, sql server

    não teria uma maneira de usar uma classe conexão para as 4 DAOS uma vez só?

    terça-feira, 28 de fevereiro de 2012 18:46

Respostas

Todas as Respostas

  • Pesquise sobre Singleton, programando nesse padrão é possível instanciar somente 1 vez a classe.

    http://msdn.microsoft.com/en-us/library/ff650316.aspx

    • Marcado como Resposta cesarmene quinta-feira, 5 de abril de 2012 20:01
    terça-feira, 28 de fevereiro de 2012 19:22
  • mas eu poderia fazer o seguinte

    criar um outro construtor em cada DAO e passar por referencia a class conexao

    da primeira DAO para as outras

    terça-feira, 28 de fevereiro de 2012 19:36
  • Olá Cesar,

      Confesso que não entendi 100% sua arquitetura, porém vamos lá.

      Primeiramente, pelo que entendi, você está tentando economizar com a ida e volta ao banco de dados, ou algo relacionado. Se realmente for isso, vamos rever alguns pontos.

      Você disse que está com 4 DAO, acredito que cada um com uma regra de negócio e responsável por uma informação especifica. Logo, essa base ao ser acessada irá carregar um volume X conforme necessidade que surgiu naquela requisição o que em primeiro momento me parece perfeito.

      O que quero dizer com isso? Não se preocupe com a quantidade de vezes que vai abrir a conexão com o banco, se preocupe com o volume de dados que essa conexão vai trazer para sua memória, ou seja, está importando realmente o volume de dados necessários para a solicitação, ou estou economizando minhas idas ao banco e já recupero para o cliente o máximo de informação possível, ou seja, ele usando ou não, já estou garantido que a informação esteja lá e que não vou mais precisar ir ao banco. Não vejo isso como boa prática de desenvolvimento.

      A sugestão do colega Pedro em conhecer o padrão de projeto Singleton, é de extrema importância e acredito que seria uma excelente ideia você dedicar alguns minutos a leitura do link recomendado, porém insisto para que reavalie sua real necessidade e o que realmente está validando como boa prática de desenvolvimento.

      Espero ter ajudado.

    Abraços,

    Flávio Secchieri Mariotti

    http://flaviosmariotti.blogspot.com


    Flávio S. Mariotti. Por favor, se o post for util marque-o. : )

    terça-feira, 28 de fevereiro de 2012 22:49
  • o volume de informações é pequeno a cada ida ao banco
    terça-feira, 28 de fevereiro de 2012 23:42
  • Oi Cesar,

      Mesmo você achando o volume pequeno insisto no uso do recurso "profile" com a classe membership, porém para atender a sua necessidade em imediato, recomendo o uso de sessões sendo que vai precisar dessas informações em diferentes paginas.

      Session["EMPRESA"] = recuperadados();

    Espero ter ajudado.


    Flávio S. Mariotti. Por favor, se o post for util marque-o. : )

    quarta-feira, 29 de fevereiro de 2012 15:15
  • Cesar, bom dia

    sua questão foi resolvida com os posts dos colegas ? se sim, por favor marque como resposta os posts que lhe ajudaram a chegar na sua solução.


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Se for útil marque como resposta e faça um Developer feliz :)

    segunda-feira, 5 de março de 2012 12:27
    Moderador