Camadas de Persistencia

Pessoal todo mundo fala muito sobre camadas de persistencia e eu to começando a achar que existe algo tipo o nirvana da persistencia, ou seja torna-se mais complicado aprender e utilizar as persistencia existentes hoje em dia do que criar uma simples e produtiva, porque eu falo isso. É porque, o desenvolvimento hoje tem quer ser algo tipo hard core e a cada momento, que você tem que treinar sua equipe ou um novo integrante em um frame, vai uma perca de tempo danada.Então pensei em criar uma camada de persistencia simples e objetiva não sei se eu estou certo e no o que falta na minha persistencia mas vai ai o funcionamento.

1 - O objeto de negocio envia para uma classe DAO uma classe mapa de uma tabela.
2 - O DAO passa esse parametro para uma classe VALIDADOR que valida se os dados estão de acordo com o que foi configurado no MAPA
3 - O DAO recebe também como parametro um gerente de conexão que é responsavél em devolver uma conexão de bancos diferentes
4 - O DAO recebe também como parametro um gerente de transação que sabe quais conexões estão envolvidas pelo gerente de conexão
5 - O DAO realiza a operação na tabela e informa ao objeto de negocio o sucesso ou o erro.
6 - O objeto de negocio solicita ao gerente de transação que commite ou efetue o rollback de todas as conexões
7 - O gerente de transação commita ou efetua o rollback e fala pro gerente de conexão para liberar as conexões.

Bem acredito que esses passos são os nescessarios para se ter uma persistencia pratica e rapida. E não tive que escrever nada em XML ou mesmo codificar muita coisa quem quiser eu posso enviar algum exemplos para ter uma ideia e espero que alguem me aponte onde estou errado ou o que devo utilizar no lugar dessa que criei.

Hmmm, interessante… Porém, como vc fará as pesquisas??? Uma query baseada em exemplos não resolverá todos os problemas!!! Acredito que a base é essa mesmo, entretanto existem vários complicadores. Existe muito material teórico sobre o q deve fazer uma camada de persistência (de uma olhada no material de Scott Ambler, ele tem várias definições interessantes), se não me engano tem inclusive um paper onde define o que uma camada deve basicamente possibilitar!

Fallow

[quote=“TedLoprao”]Hmmm, interessante… Porém, como vc fará as pesquisas??? Uma query baseada em exemplos não resolverá todos os problemas!!! Acredito que a base é essa mesmo, entretanto existem vários complicadores. Existe muito material teórico sobre o q deve fazer uma camada de persistência (de uma olhada no material de Scott Ambler, ele tem várias definições interessantes), se não me engano tem inclusive um paper onde define o que uma camada deve basicamente possibilitar!

Fallow[/quote]
Muito obrigado pela dica mas sabe me dizer em qual site ou quais sites encontro esse material

[quote=“wendell aseved oliveira”]2 - O DAO passa esse parametro para uma classe VALIDADOR que valida se os dados estão de acordo com o que foi configurado no MAPA
3 - O DAO recebe também como parametro um gerente de conexão que é responsavél em devolver uma conexão de bancos diferentes
4 - O DAO recebe também como parametro um gerente de transação que sabe quais conexões estão envolvidas pelo gerente de conexão
5 - O DAO realiza a operação na tabela e informa ao objeto de negocio o sucesso ou o erro. [/quote]

O seu DAO faz coisas demais. Sao 4 responsabilidades pra uma classe soh. Que tal fazer a coisa de forma mais desacoplada? :slight_smile:

Aqui tem um site com um paper do Scott Ambler:
http://www.agiledata.org/essays/mappingObjects.html

No mais vc pode dar uma procurada no google pois tem muito material espalhado!!!

Fallow