Colegas,
Estou começando a desenvolver uma aplicação SWING que será uma Agenda Financeira Pessoal.
Após sua conclusão DISPONIBILIZAREI o sistema completo com fontes e documentação(UML, ER, HELPs, Manuais e ect) para o pessoal aqui do GUJ(Se o WebMaster permitir é claro), só que tem um detalhe: Eu não gostaria de disponibilizar algo que não estivesse dentro dos padrões mais corretos de desenvolvimento e que não possuísse as técnicas mais recomendadas para aplicativos JAVA. Digo isto, pois na busca incessante por exemplos de aplicativos SWING pela WEB, encontrei muito coisa, mas muita coisa fora de padrões(Por exemplo, código de acesso a banco de dados na mesma classe que tem o JFrame), por isso PRECISO da AJUDA dos colegas mais experientes para completar o projeto, pelo menos no que tange a avaliação das técnicas de programação, pois quem pegar este exemplo aqui no site, vai poder ter a certeza de que esta pegando algo que é baseado nos padrões e técnicas mais elegantes e corretas de desenvolvimento de aplicativos JAVA/SWING.
O sistema terá as seguintes funcionalidades:
-> Janela Login = Tela de Login no Sistema
-> Janela Prinicipal = Janela Principal do Sistema
-> Log Individual = Tela de Visualização dos LOGs de atividades do usuário Logado
-> Log Usuário = Tela de Visualização dos LOGS de atividades dos usuários do sistema
-> Tela Pesquisa = Tela genérica de pesquisa( Pesquisar usuários, Pessoas, Contas )
-> Tela Filtro = Tela genérica de Filtro( Filtrar usuários, Pessoas, Contas )
-> Tela Grid = Tela genérica de GRID( Visualizar usuários, Pessoas, Contas )
-> Tela Relatório = Tela de Viewer(Visualização) de relatórios
-> Tela Help(F1) = Tela de HELP quando o usuário precionar F1 em algum campo da tela
-> Cadastro - Usuário, Acesso, Pessoas, Forma Movto, Contas, Erro Interno ( Cadastros do sistema )
-> Rotina - Lançamento = Tela de Lançamento dos agendamentos financeiros.
-> Help - Manual = Manual do sistema
-> Log-Off
-> Sair
Lá vai às dúvidas do Projeto:
- Partindo da premissa que tenho uma tela, Cadastro de Usuários, por exemplo.
1. Qual a maneira mais correta de tratar os eventos de teclado/Mouse ?
- Classes Internas(Private)
- Classes Externas
- Classes Internas Anônimas
2. Qual a maneira mais correta de passar/ler os dados para um Banco de Dados ?, ou seja, como faço para ler os dados da tabela "Usuários" e como faço para gravar, incluir, excluir e alterar.
- Eu ouvi falar em VO's, DAO e etc.
- Qual a maneira mais correta de se fazer isto ?, ou seja, quais os padrões eu devo utilizar e em que ordem e sequencia ?
Ob.: O Banco de dados será Access em um primeiro momento e após PostGreSQL.
Não quero que os colegas que forem me ajudar tenho o trabalho de escrever código(só se fizer extremamente necessário), mas sim me apontem as técnicas que eu vou atrás.
Desde já agradecendo e contando com a colaboração,
Atenciosamente,
Leandro Severino.