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