Ola pessoal fui começar a fazer um projeto desktop, comecei a montar a arquitetura do projeto, separando persistencia, modelo, controller e tal? tramquilo como em um projeto web , so que para separar a logica da tela em swing comecei a ver que não é tão simples.
pensei em implementar uma camada de event handlers mais como não quero reinventar a roda, gostaria de saber se voces conhecer algum framework ou como vocês implementão essa separaçao da view em programas desktop.
Cara esse tutorial é bem iniciante tem justamente o que eu não quero a VIEW tem alto acoplamento com o controller, fora que o main ta dentro da tela “VIEW”, tem logica na tela…
se a view não esta isolada não ta em MVC completamente.
qual tá sendo o problema exatamente na hora de dividir as responsabilidades? Não é preciso usar nenhum framework a mais além do Swing, convém lembrar: ele já é MVC por definição.
Você tem facades no seu sistema? Se não tiver, já é um bom começo.
Complementanto, nunca ouvi de um “framework MVC” para swing. Construir um sistema que seja MVC depende mais de vc “seguir” o modelo MVC do que de um framework, ate por que nada garante que seu sistema segue o modelo MVC se vc nao implementa-lo, os frameworks existem para ajudar na implementacao deste padrao apenas.
Se vc quizer saber de algum framework pra swing, recomendaria conhecer este aqui, tem diversas funcionalidades bem interessantes.
No mais, uma ideia, eu faria isso ao menos, podes injetar os controlers nas suas views utilizando spring, vai ficar elegante e desacoplado. Ai entao basta vc implementar seguindo o modelo MVC e pronto.
Como kicolobo comentou, facades ou session facades seriam um bom comeco.