Existe um design patterns chamado DAO

Ele serve exatamente para esse tipo de problema ..
Cria uma interface com seus metodos de acesso a banco ...
por exemplo
public interface OfertaDAO {
  public void create(OfertaModel om) ;
}

e crie um factory para essa interface
public class OfertaDAOFactory {
  public OfertaDAO getDAO() {
     try {
       return (OfertaDAO) 
Class.forName("o.pacote.da.implementacao.OfertaDAOImpl1").newInstance() ;
     } catch (Exception e) {
       e.printStackTrace() ;
     }
  }
}

e crie as implementacao 

public class OfertaDAOImpl1 implememnts OfertaDAO {
  public void create(OfertaModel om) {
    .. faca o q tenha q ser feito ...
  }
}

public class OfertaDAOImpl2 implememnts OfertaDAO {
  public void create(OfertaModel om) {
    .. faca o q tenha q ser feito ...
  }
}


Esse design foi criado para resolver o problema de banco de dados diferente 
...
Na sua aplicacao vc soh se referencia a interface
ex:
OfertaDAO dao = OfertaDAOFactory.getDAO() ;

entao qdo vc mudar o factory para pegar a Impl2 envez da Impl1 seu programa 
nao precisa ser mudado ...

Espero ter ajudado.
Abraco!


On Thursday 31 January 2002 11:14 am, you wrote:
> Cria uma classe abstrata, que implemente os metodos communs de todas as
> classes e os metodos com conneção de banco vc coloca como abstract. Nas
> heranças vc implemmenta estes metodos.
>
> Shazzannn wrote:
> >Oi pessoal, estou com um dúvida conceitual e acho que vcs podem me ajudar.
> >
> >Eu preciso fazer duas classes praticamente iguais chamadas ofertas e
> >projetos, mas a única diferença é nas conexoes com o BD muda o nome das
> >tabelas o nome e o número dos parametros.
> >
> >É melhor eu ter duas classes diferentes que herdam algumas coisas em
> > comum, mas os métodos que tem conexao com o banco de dados (praticamente
> > todos) sao implementados em cada classe?
> >
> >Ou é melhor eu ter uma única classe com uma variável que muda entre os
> >valores "projeto" e "oferta" e fazer algo do tipo nos métodos:
> >
> >public void inserir () {
> >     if (variavel.equals("projeto")) {
> >             ... codigo de projeto ...
> >     } else {
> >             ... codigo de oferta ...
> >     }
> >}
> >
> >Ou uma forma melhor?
> >
> >Essas classes serao acessadas por arquivos jsp. E nos arquivos jsp, é
> > melhor fazer um para cada ou unir os dois de alguma forma?
> >
> >Obrigado,
> >
> >Shazzannn
> >
> >------------------------------ LISTA SOUJAVA ----------------------------
> >http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> >dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> >regras da lista: http://www.soujava.org.br/regras.htm
> >para sair da lista: envie email para [EMAIL PROTECTED]
> >-------------------------------------------------------------------------

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a