Usuário com melhor resposta
Repository e Daos - Várias fontes de dados.

Pergunta
-
Olá Pessoal,
Estou com um problema, já pesquisei aqui no fórum, mais ainda não consegui entender o mecanismo.
O meu objetivo por hora é ter um DaoSql, um DaoOracle e um DaoObjectMemory, onde tenho métodos que acessam Sql server, oracle e objetos na memória (para testes) respectivamente.
Então tenho uma esquema assim:
Code Snippet-
//Recuperar os dependentes de um titular
-
public class Titular
-
{
-
public List<Dependentes> GetDependentes()
-
{
-
return Dependente.GetDependentesDo(this);
-
}
-
}
-
-
public class Dependente
-
{
-
public List<Dependente> GetDependentesDo(Titular titular)
-
{
-
return RepositoryDependentes.GetDependentesDo(titular);
-
}
-
}
-
-
public classe RepositoryDependentes()
-
{
-
public List<Dependente> GetDependentesDo(Titular titular)
-
{
-
string Query = "Select .....";
-
data = DaoSql.ExecutaQuery(Query);
-
foreach (data)
-
{
-
//monto dependentes
-
}
-
return DependentesDoTitular;
-
}
-
}
A intenção é possibilitar RepositoryDependentes.GetDependentesDo(titular) trazer dependentes do SQL ou do Oracle ou da memória. Provavelmente terei que usar um factory, mais onde? e como?
No caso de ter apenas databases (sql e oracle) eu até consigo me virar bem pois as coisas são bem parecidas, mais quando entra a possibilidade de trabalhar apenas com objetos em memória eu me enrolo, pois o tratamento é bem diferente, não tem concexao, etc.
Obrigado a todos. -
Respostas
-
Dá pra organizar assim :
http://www.dofactory.com/Patterns/PatternBridge.aspx
Dá uma olhada neste link ai de cima. Em casa eu tenho um implementação que utiliza esta forma. Quando chegar a noite eu te passo.
[]´s
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09
-
Cara,
com certeza este link pode te ajudar muito:
http://msdn.microsoft.com/en-us/magazine/cc337885.aspx
Abraços- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09
-
Olá,
mvurban wrote: A intenção é possibilitar RepositoryDependentes.GetDependentesDo(titular) trazer dependentes do SQL ou do Oracle ou da memória. Provavelmente terei que usar um factory, mais onde? e como?
A primeira coisa: pq a classe Titular delega a classe Dependente o acesso ao respositório de dependentes? Lembre-se de que um repositório pode ser acessado por qualquer elemento do domain, sem culpa.
A segunda dica é compor seu repositório com uma implementação concreta de DAO - considerando que seu atributo de instância é uma interface ou classe abstrata. Logo, seu repositório delegaria para o DAO (que seria criado por uma factory, injetado através de AOP ou DI) o acesso aos dados.
[]s
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09
Todas as Respostas
-
-
Primeiramente organizar as coisas de forma que eu possa usar com falicilidade uma das possíveis formas de persistência. Depois que eu conseguir fazer isso de forma satisfatória, com o SQL e o Oracle aí terei outro problema que é fazer o objMemory.
Agora ainda estou meio perdidão. Já tive algumas sugestões interessantes usando critérios para montar o sql, mais isso também é um ponto de dificuldade.
Se puder me ajudar, ficarei muito grato.
Abraços.
-
Dá pra organizar assim :
http://www.dofactory.com/Patterns/PatternBridge.aspx
Dá uma olhada neste link ai de cima. Em casa eu tenho um implementação que utiliza esta forma. Quando chegar a noite eu te passo.
[]´s
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09
-
Cara,
com certeza este link pode te ajudar muito:
http://msdn.microsoft.com/en-us/magazine/cc337885.aspx
Abraços- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09
-
Olá,
mvurban wrote: A intenção é possibilitar RepositoryDependentes.GetDependentesDo(titular) trazer dependentes do SQL ou do Oracle ou da memória. Provavelmente terei que usar um factory, mais onde? e como?
A primeira coisa: pq a classe Titular delega a classe Dependente o acesso ao respositório de dependentes? Lembre-se de que um repositório pode ser acessado por qualquer elemento do domain, sem culpa.
A segunda dica é compor seu repositório com uma implementação concreta de DAO - considerando que seu atributo de instância é uma interface ou classe abstrata. Logo, seu repositório delegaria para o DAO (que seria criado por uma factory, injetado através de AOP ou DI) o acesso aos dados.
[]s
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 29 de março de 2011 16:09