O que meus métodos da DAL devem retornar?

03/09/2010

0

Olá a todos.   Pessoal, estou desenvolvendo em C# com Windows Forms utilizando o conceito de MVC, mas estou enfrentando uma dúvida referente ao o que meus métodos de busca devem retornar.   Digamos que eu tenho uma grid no meu form e quero poder preenche-lo chamando um método da minha camada DAL (ou DAO). Digamos que esta grid deve ser populada com uma lista de Clientes.   Eu poderia executar a query e devolver um DataTable já populado para minha grid fazendo grid.DataSource = dal.metodoQueDevolveDataTable(); ou eu poderia devolver uma lista de objetos Cliente.. (  List<Cliente>() ).   Ao meu ver, como estou desenvolvendo em 3 camadas, acho que o mais correto é sempre trabalhar somente com meus objetos, não sair recebendo ou devolvendo nos meus métodos tipos como DataSet ou DataTable.   Porém, usando DataSet e DataTable eu tenho a vantagem de conseguir relacionar os DataTable, trabalhar com os dados em memória, etc... ( Como se fosse um ClientDataSet do Delphi ).   Se tiver alguma forma (prática) de receber um List<Cliente> e atribuir para um DataTable que está vinculado a um DataSet do meu form, e eu trabalhar em tela com o DataTable seria uma solução para o meu problema.   Não sei se consegui me explicar bem. Qualquer dúvida só perguntar.   Obrigado !
Gustavo Marcon

Gustavo Marcon

Responder

Posts

03/09/2010

Vinicius Mesquita

Boas,   Não vejo problema algum do jeito que você pretende "bindar" o seu GridView, de qualquer jeito você criará uma espécie de "dependência" das camadas, eu criaria um objeto na controller que receberia um DataSet/DataTable já mapeados e na View teria um ObjectDataSource vinculado ao meu GridView, setando no controller o dado recebido da Model. Creio que não existe "certos" e "errados" para se solucionar um problema. Existe sim, vantagens e desvantagens( Essa é minha opinião, OK?).
Sugiro que você de uma olhada neste artigo bem interessante que aborda exatamente o tema que você procura esclarecer: http://msdn.microsoft.com/en-us/library/Ee817644(pandp.10).aspx

Espero ter ajudado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar