Pessoal, gostaria que analizassem uma arquitetura que montei, para trabalhar em um sistema de grande porte cliente/servidor. Dicas e/ou sugestões, são muito bem vindas.
Para visão, utilizarei o Framework SwingBean, do nosso amigo, Eduardo Guerra.
Segue: (coloquei ALTO NÍVEL de código, ou seja, apenas exemplificar mesmo)
[code]# DaoPessoa
classe DaoPessoa {
saveOrUpdate(Pessoa p) {
GenericDao.save§;
}
}
EntityBean
classe Pessoa {
nome, idade, dataNascimento, estadoCivil;
salvar() {
DaoPessoa.save(this);
}
buscar(), atualizar(), deletar(), etc.
}
XML (modelPessoa.xml)
propriedade nome, seja texto, possua no máximo 30 caracteres, e valide se não for nulo propriedade idade, seja inteiro propriedade dataNascimento, seja data (Ele já gera um Calendar bacanasso) propriedade estadoCivil, seja combo, com uma lista: 'casado; solteiro; viuvo' OU carregue a lista pelo método: ' net.cpadi.models.listas.carregarLista()'VIEW
classe ViewPessoa extends JFrame {
SwingBeanPanelObject painel1 = loadXmlDescriptor(modelPessoa.xml)
meuFrame.add(painel1)
crie botoes CRUD e add no painel
botoes.addListeners(ControllerHandle);
private class ControllerHandle extends mouseAdapter {
executeCreate() {
Pessoa pessoa = new Pessoa();
painel1.populateBean(pessoa); //AQUI O OBJ PESSOA ESTARÁ PREENCHIDO COM AS INFOR. CAPTADAS DO PAINEL CRIADO PELO SWINGBEAN
pessoa.salvar();
}
executeRead() {
//igual acima
}
executeUpdate() {
//igual acima
}
executeDestroy() {
//igual acima
}
}
}[/code]
Obrigado. :roll: