DUVIDAS SOBRE CLASSES DAL

MARCOS 03/10/2012 17:17:26
#411188
Prezados colegas,
Pesquisando,percebi que a variedade de modos diferentes (Usando ADO.NET)
de se criar uma classe para acesso a dados é enorme.Tanto que fico até confuso.
Meu problema não é entender o algoritmo,pois estudei o ADO.NET e já entendo
o código usado no acesso aos SGBD[ô]s.

Minhas dúvidas são as seguintes:


Em se tratando das boas práticas em OO....

1.) Ao se criar uma classe DAL ,para criar uma camada de acesso a dados o correto é
fazer com que todos os métodos do CRUD,disparem Stored Procedure no SGDB,ou
ou o correto é executar o CRUD,com códigos de acesso no própio método da classe DAL???

2.) Se em uma determinada aplicação,eu tenho no SGBD uma tabela de cadastro para Cliente,
outra para Fornecedor e oura ainda para Funcionário,etc...
O correto é ter,uma classe DAL para cada uma destas tabelas,ou o correto em OO,é ter uma classe DAL genérica para todas elas???


Agradeço qualquer orientação
KERPLUNK 03/10/2012 17:42:01
#411191
Resposta escolhida
Citação:

1.) Ao se criar uma classe DAL ,para criar uma camada de acesso a dados o correto é
fazer com que todos os métodos do CRUD,disparem Stored Procedure no SGDB,ou
ou o correto é executar o CRUD,com códigos de acesso no própio método da classe DAL???


Isso fica À critério do seu design, nada impede de se usar comandos SQL diretamente, mas o ideal é criar SP para tudo, elas são bem mais rápidas e eficientes, além disso, caso necessite uma alteração no modo como os dados são buscados, basta alterar a SP e não precisa compilar nada

Citação:

2.) Se em uma determinada aplicação,eu tenho no SGBD uma tabela de cadastro para Cliente,
outra para Fornecedor e oura ainda para Funcionário,etc...
O correto é ter,uma classe DAL para cada uma destas tabelas,ou o correto em OO,é ter uma classe DAL genérica para todas elas???


Um dos objetivos da POO é granularização; Quando mais especializado cada classe/método, melhor. Novamente, nada impede de se fazer uma [Ô]coisona[Ô] só, mas vai por mim, quanto mais especializado cada componente, melhor.
Tópico encerrado , respostas não são mais permitidas