none
Repository e Daos - Várias fontes de dados. RRS feed

  • 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
    1. //Recuperar os dependentes de um titular   
    2. public class Titular   
    3. {   
    4.     public List<Dependentes> GetDependentes()   
    5.     {   
    6.         return Dependente.GetDependentesDo(this);   
    7.     }   
    8. }   
    9.   
    10. public class Dependente   
    11. {   
    12.     public List<Dependente> GetDependentesDo(Titular titular)   
    13.    {   
    14.         return RepositoryDependentes.GetDependentesDo(titular);   
    15.    }   
    16. }   
    17.   
    18. public classe RepositoryDependentes()   
    19. {   
    20.     public List<Dependente> GetDependentesDo(Titular titular)   
    21.     {   
    22.         string Query = "Select .....";   
    23.         data = DaoSql.ExecutaQuery(Query);   
    24.         foreach (data)   
    25.         {   
    26.               //monto dependentes   
    27.          }   
    28.         return DependentesDoTitular;   
    29.     }   
    30. }  

     

     


    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.

     

    sexta-feira, 6 de junho de 2008 14:13

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

     

     

    segunda-feira, 9 de junho de 2008 13:50
  • Cara,
    com certeza este link pode te ajudar muito:

    http://msdn.microsoft.com/en-us/magazine/cc337885.aspx

    Abraços
    terça-feira, 24 de junho de 2008 03:34
  • 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

    quarta-feira, 25 de junho de 2008 12:56

Todas as Respostas

  • Olá , "mvurban"

     

    Você deseja saber como implementar "DaoObjectMemory" ou saber como organizar a "bagaça" para funcionarem juntos e sem briga ?

     

    []´s

     

     

     

     

     

    segunda-feira, 9 de junho de 2008 13:35
  • 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.

    segunda-feira, 9 de junho de 2008 13:42
  • 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

     

     

    segunda-feira, 9 de junho de 2008 13:50
  • Cara,
    com certeza este link pode te ajudar muito:

    http://msdn.microsoft.com/en-us/magazine/cc337885.aspx

    Abraços
    terça-feira, 24 de junho de 2008 03:34
  • 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

    quarta-feira, 25 de junho de 2008 12:56