Estou em dúvida no uso do pattern MVC ou Presentation Model para a implementação de uma aplicação desktop em Swing. Já apliquei muito o MVC para Desktop e ultimamente estou vendo muito se falar sobre o Presentation Model casado com Beans Binding. Estou pensando em usar essa dupla ( Presentation Model + Beans Binding) só que os exemplos que vejo são bem básicos e não me dão segurança o suficiente para decidir como o projeto será desenvolvido.
Alguém já utilizou essa dupla em grandes aplicações. Qual a conclusão final?
Comecei a usar o Presentation Model na implementação do meu TCC. O caso é relativamente simples: uma tela de pedido com data, cliente, etc e os itens do pedido. Nesse caso usei o beans binding apenas para facilitar o trabalho com o JTable.
Na minha opinião, para interfaces desktop, a idéia do Presentation Model parece que encaixa mais do que o MVC. Aliás, ele e outros padrões no site do Fowler ([1] e [2]) e outros que ele referencia foram feitos pensando em interfaces gráficas.
E de brinde, fica mais fácil escrever testes para as “telas”, haja visto que a lógica da “tela” é uma classe do seu dominio, e a tela em si fica apenas com a responsabilidade de atualizar as propriedades dos componentes.
Concluíndo: na minha opnião vale a pena utilizar o Presentation Model, ou outro que lhe convir e/ou encaixar com suas necessidades. Quanto ao beans binding só usei o básico, mas ajudou bastante.