Bom dia…
Em aplicações Desktop, estou trabalhando da seguinte forma: Formulario —> Service —> DAO, conforme um artigo na java magazine que li… Estarei mostrando parte do meu codigo e queria a dica de vcs quanto a arquitetura, ficarei grato! Obrigado!!!
è um cadastro de cidade o exemplo…
FORMULARIO:
private void btSalvar1ActionPerformed(java.awt.event.ActionEvent evt) {
if(tfNome.getText().equals("")){
JOptionPane.showMessageDialog(null,"O Campo Cidade é Obrigatório","Aviso",JOptionPane.INFORMATION_MESSAGE);
}
else{
//Implementando a regra de negócio: verifica se a Cidade já existe.
CidadeServices cidSrv = ServicesFactory.getCidadeServices();
EstadoServices estSrv = ServicesFactory.getEstadoServices();
CidadeVo cidTo = cidSrv.consultaCiadeByNome(tfNome.getText());
if (cidTo != null)
JOptionPane.showMessageDialog(null,"Já existe esta Cidade","Aviso",JOptionPane.WARNING_MESSAGE);
else{
CidadeVo cidVo = new CidadeVo();
//Setando os atributos de CidadeVo.
cidVo.setNome(tfNome.getText());
//Pesquisa o Codigo do estado pela sigla selecionada
EstadoVo est = estSrv.consultaEstadoByNome((String) cbEstado.getSelectedItem());
if(est != null)
cidVo.setEstado(est.getCodigo());
try {
cidSrv.inserirCidade(cidVo);
JOptionPane.showMessageDialog(null,"Cidade Cadastrada com Sucesso","Aviso",JOptionPane.INFORMATION_MESSAGE);
limparCamposForm();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
SERVICES: (Recebe a requisição do form e passa para o DAO)
Classe ServicesFactory
public class ServicesFactory {
private static final FuncionarioServices funcionarioServices = new FuncionarioServices();
private static final CidadeServices cidadeServices = new CidadeServices();
public static FuncionarioServices getFuncionarioServices() {
return funcionarioServices;
}
public static CidadeServices getCidadeServices() {
return cidadeServices;
}
}
Classe CidadeServices
public class CidadeServices {
/**
* Insere uma Cidade.
* @param cidVo - Objeto do tipo CidadeVo.
* */
public void inserirCidade(CidadeVo cidVo){
CidadeDao cidDao = DaoFactory.getCidadeDao();
cidDao.insertCidade(cidVo);
}
/**
* Atualiza uma Cidade
* @param cidVo - Objeto do tipo CidadeVo.
* */
public void alterarCidade(CidadeVo cidVo){
CidadeDao cidDao = DaoFactory.getCidadeDao();
cidDao.updateCidade(cidVo);
}
.
.
.
}
DAO
Classe DaoFactory
public class DaoFactory {
private static final FuncionarioDao funcionarioDao = new FuncionarioDao();
private static final CidadeDao cidadeDao = new CidadeDao();
public static FuncionarioDao getFuncionarioDao() {
return funcionarioDao;
}
public static CidadeDao getCidadeDao() {
return cidadeDao;
}
Classe CidadeDao
Queria saber se a validação de dados, de negocios eu faço é no meu Service? ou seja minha interface envia um bean para o meu service, nele faço as validações e ai se tudo estiver certo, envio para minha persistencia…
Muito obrigado pela atenção!!!