DAO e Factory

4 respostas
A

Pessoal , hoje com os frameworks de IOC como o Spring, o codigo abaixo esta obsoleto, certo?
Esse código é de 2004 e é um arquivo batch.

Factory, visando amanha a troca facilmente de banco de dados.

public interface DAOEmpregadoFactory { DAOEmpregado create(); }
Implementacao do Factory. retornando uma instancia de uma class DAO.

public class DAOEmpregadoFactoryPostgreSQL implements DAOEmpregadoFactory { public DAOEmpregado create() { return new DAOEmpregadoPostgreSQL(); }
Interface do DAO.

public interface DAOEmpregado { Empregado buscaPorId(int ident) throws SQLException; }
Class que é retornada pelo DAOEmpregadoFactoryPostgreSQL.

public class DAOEmpregadoPostgreSQL implements DAOEmpregado {
         Empregado buscaPorId(int ident)	throws SQLException	{
         // implementacao omitida
      }
}

Class com o metodo main:

DAOEmpregadoFactory fabrica = new DAOEmpregadoFactoryPostgreSQL();
DAOEmpregado dao = fabrica.create();

Neste trecho acima, objeto dao é instaciado pelo retorno do metodo create do objeto fabrica. Veja que ele somente retorna uma instancia do DAOEmpregadoPostgreSQL

4 Respostas

marcelo_mococa

hoje em dia existe maneiras mais bonitas de se fazer.
Mas em alguns casos ainda pode ser útil, como você mesmo citou em sistemas antigos.

Agora se é pra começar a desenvolver um sistema hoje eu não faria assim… opinião minha…

A

Eu também nao faria, esse sistema é antigo.
Mas ja que preciso mudar como ficaria um DAO hoje usando Spring (estou comecando a estuda-lo…)?

Vi que tem muito suporte, mas em alguns casos que vi, sugiram alguns coisas novas, por exemplo class services, não entendi a necessidade dessas class de servicos

marcelo_mococa

Apenas deixará de existir este monte de factory. O spring que irá gerenciar o clico de vida do objeto.

Existirá apenas a interface e as implementações do DAO.
O resto é IoC.

R

afsrj:
Eu também nao faria, esse sistema é antigo.
Mas ja que preciso mudar como ficaria um DAO hoje usando Spring (estou comecando a estuda-lo…)?

Vi que tem muito suporte, mas em alguns casos que vi, sugiram alguns coisas novas, por exemplo class services, não entendi a necessidade dessas class de servicos

Se não me engando pra fazer um hello do spring dao support é só você ter um dao que herda da classe jdbcdaosuppor e em cada método voce usa o jdbctemplate pra fazer as querys.

Mas tem muita coisa que dá pra fazer com ele, resultset extractors, etc.

[]´s

Criado 18 de maio de 2007
Ultima resposta 18 de mai. de 2007
Respostas 4
Participantes 3