none
Duvida qual é a melhor opção / solução ? RRS feed

  • Pergunta

  • Olá pessoal,

     

    Estou desenvolvendo um componente e gostaria de saber qual seria a melhor solução:

     

    Exemplo.:

       tenho uma classe de clientes:

           propriedades: Codigo, Nome, CPF

     

          metodos: Incluir, Excluir, Alterar, e Localizar.

     

          a minha duvida é: no metodo Localizar é melhor eu retornar um Datatable ou

          criar um array com os dados do Datatable.

     

          pq na opção ARRAY na camada de FACHADA o programador nao precisa saber de que banco de dados veio a informação... e sim somente ler o array.. e pronto.

     

          mas qdo ele quer preencher um grid... na outra opção seria mto melhor... é só setar a propriedade datasource...

     

         alguem poderia me dizer sobre performance, etc...

     

        algumas dicas, estou perdido !!!!

     

     

        OBRIGADO...

     

    sexta-feira, 29 de junho de 2007 15:58

Todas as Respostas

  • Oi !

     

    O dataTable é um objeto genérico. Com o dataTable o client também não precisa saber de onde os dados vieram.

     

    Decidir por uma substituição entre dataTable e array é uma decisão muito mais difícil do que você está imaginando.

     

    A DataTable/DataSet possuem um conjunto de funcionalidades muito importantes para um trabalho em camadas e desconectado e frequentemente são funcionalidades que os desenvolvedores não percebem a importância até se depararem com os problemas deste ambiente de desenvolvimento.

     

    Por isso, em hipótese alguma opte por usar arrays enquanto você não conhecer em profundos detalhes o trabalho em camadas com datatable/datasets e desta forma estiver apto a fazer uma escolha consciente.

     

    Da minha parte, não usaria array. Prefiro isso : http://www.microsoft.com/brasil/msdn/tecnologias/adonet/camadaDados.mspx

     

    []'s

     

    sexta-feira, 29 de junho de 2007 17:16
  • Bom dia.

     

    Se você trabalha com a framework 2.0 uma outra idéia seria você criar uma lista genérica de objetos de cliente.

    Caso não tenha trabalhado com Generics, de uma olhadinha na Library (eu prefiro em inglês) para compreendê-la. É simples e muito util.

     

    Eu particularmente trabalho assim:

    ClienteController - responsável pelas operações CRUD com relação ao cliente

    ClienteModel - uma classe que contem os dados do cliente e seu métos

     

    Faço isso pois não acho coerente um cliente inserir ele mesmo no sistema. Acredito que seja melhor um controlar fazer isso, vendo todas as especificações para essa inclusão.

     

    Crie um método no controlador que retorne uma lista de Clientes (List<Cliente>).

     

    No seu GridView defina em DataBindis de cada coluna o nome da propriedade (da classe Cliente) que sera mostrada.

    Agora é so passar no DataSource a lista e Bind(), seu grid estará populado.

     

    É possível termos várias soluções, cabe a você decidir performance, segurança entre outros requisitos para sua solução.

     

    Caso queira mais informações sobre o que te disse, me mande um e-mail que eu crio um exemplo simples para você.

     

    Grande abraço

    quinta-feira, 5 de julho de 2007 14:15