Ola pessoal, estou com uma duvida como posso utilizar o padrão State, para Criar um programa que possa acessar 3 SGDBS diferentes e de acordo com a o estado dos bancos ele conecte em um ou em outro! alguém mim ajude ai…
Padrao state em Java
A
2 Respostas
Esse padrão até que é bem simples. Defina uma interface com as operações com o banco de dados, exemplo:
public interface DAO{
void cadastrar(Object o);
}
Depois crie as classes as classe que vão implementar essa interface, exemplo:
OracleDAO implements DAO{}
SqlServerDAO implements DAO{}
SybaseDAO implements DAO{}
Agora é só definir a regra no seu método na classe com as regras de negócio, tipo:
public void cadastrarAlgo( Object o)
DAO dao = null;
if(/*regra 1*/){
dao = new OracleDAO();
dao.cadastrar(o);
}else if(/*regra 2*/){
dao = new SqlServerDAO();
dao.cadastrar(o);
}else{/*regra 3*/
dao = SybaseDAO();
dao.cadastrar(o);
}
}
Abs!
Aceita uma sugestão ? Faz com if’s ou switch case primeiro. Resolva o seu problema. Depois que você resolver você refatora para o padrão de projeto. Pode acontecer até mesmo do padrão State não ser o mais adequado para o seu problema.
Criado 5 de novembro de 2013
Ultima resposta 5 de nov. de 2013
Respostas 2
Participantes 3