Padrao state em Java

2 respostas
A

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…

2 Respostas

freakazoid

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!

rmendes08

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