Camadas em aplicações DESKTOP

Pessoal,

Pretendo desevolver um aplicação Java Desktop usando arquitetura em camadas. A arquitetura que eu propus para o projeto foi a seguinte :

Camada de APRESENTAÇÃO
Será desenvolvida usando-se as APIs Swing/AWT e a IDE Netbeans(exigência do projeto). Framworks de apresentação não serão utilizados, não num primeiro momento

Camada de NEGÓCIOS
Será desenvolvida usando-se todos os recursos disponíveis na linguagem JAVA e em suas principais APIs.

Camada de PERSISTÊNCIA
Será desenvolvida usando-se a API JDBC. Framworks de persistência não serão utilizados, não num primeiro momento.

O que penso em fazer na camada de APRESENTAÇÃO :

1o - Crio a GUI usando Swing, em geral uma classe para cada JFrame
2o - Em cada uma destas classes, crio um atributo privado para cada componente GUI
3o - Crio métodos set para atribuir a cada atributo da classe o conteúdo capturado do componente GUI a ele associado
4o - Uma vez que todos os atributos tenham sido "setados", efetuo as validações de dados inerentes a esta camada
5o - Se as validações não lograrem êxito, a aplicação continua rodando até que os dados sejam validados
6o - Validados os dados, crio o objeto da camada de apresentação já com esses dadaos validados
7o - Com isto, finalmente crio o objeto da camada de negócio a partir do objeto da camada de apresentação com dados válidos.

A lógica supracitada também deverá ser utilizada, com os seus devidos ajustes, nas camadas subsequentes.
Gostaria de saber o que vocês mais experientes em Java acham desta sequência do que deve ser feito na camada de Apresentação ?
Espero obter críticas construtivas não só à proposta de arquitetura, como à sequência de ações a serem feitas em cada camada.
Agradeço demais qualquer ajuda que me for enviada, pois ela será de grande valia para mim.

[]'s
Max

Aew!!!
então de uma lida nesse tutorial:

O da sun… acho que umpouco sem didatica mais ta ai:
http://java.sun.com/products/jfc/tsc/articles/architecture/

Percebi aque vc não quer utilizar nenhum tipo de framework nas partes que vc citou.

Se isto for verdade, vc poderia dizer por que?

Para criticar a arquitetura teria que saber um pouco mais sobre o projeto, algumas vezes client x server resolve bem o problema.

Sobre a sequencia que vc descreveu acho que faltou mencionar alguma coisa sobre patterns, neste caso, o MVC e certamente alguns outros.

flws

Sem estamos falando de aplicação Swing, um bom pattern seria o MVP (Model-view-Presenter)
tem aconselho a dar uma olhada.

Se vc vai construir suas guis no Netbeans, presumo que vai usar o matisse para faze-lo visualmente. Caso isso aconteça sugiro usar o framework de binding(implementação de referência da JSR 295), pois este promove o desacoplamento de sua view do modelo desta e tem uma integração muito boa com o matisse. Sugiro ainda uma olhada em algum RCP pra Swing(Implementação de Referência da JSR 296, NetBeans Plataform… ) pois estes camaradas fazem um monte de trabalho pra vc. Sugestão de alguém que trabalhou por dois anos em um sistema desktop, quando nao havia estes recursos.

Fala cara,

Dá uma pesquisada no pattern “Presentation Model”. Ele fornece uma maneira bem interessante de separar o código de GUI do código de negócio.

Também dê uma olhada nesse link aqui:
http://www.componenthouse.com/articles

O dono desse site, Hugo Teixeira, já trabalhou comigo e é fera. Ele tem uns artigos muito interessantes sobre o Presentation Model e sobre GUI em java em geral.