Padrões para aplicação swing

Pessoal, que padrões (patterns) vocês costumam usar em suas aplicações swing?

valeu

Em um projeto que eu trabalhei havia um módulo Offline que tinhas alguns métodos utilizados no módulo online. Então apenas criei a interface e o preenchimento dos beans e utilizei todo o código que estava pronto de Facade para baixo (Fachada, BO e Repositorio (DAO)). Reaproveitamos muito código. Acho que a maioria dos componentes Swing já implementam MVC…
Foi minha primeira e única experiência com JAVA Desktop.

O swing ja implementa o MVC como relatado na mundo java #19. Quanto ao uso geral acho q é como o leofernandesmo colocou. Vc pode utilizar os padrões utilizados em aplicações me geral.
Tenho feito algumas coisas com Swing e trabalho com DAO e tudo mais normalmente.

O MVC do Swing em si tem muito pouco a ver com o MVC que normalmente pensamos quando se fala de web, por exemplo.

No caso de aplicacoes desktop Swing, voce deve usar uma camada de abstracao maior que te livre dos listeners, models e afins, pelo menos para a maioria das operacoes. Se voce desenvolver sua aplicacao usando o genesis, por exemplo, voce vai usar MVC (M=form, V=view Swing, C=genesis [FormController]) e uma versao modificada do Command Pattern (para sua camada de negocios).

O SwingBean é um framework que também implementa o padrão MVC, só que diferente do Genesis ele atua mais no Model e no View. Estamos até articulando uma integração entre o SwingBean e o Genesis… Vale a pena dar uma olhada:

http://swingbean.sourceforge.net

Olá

Com Swing se usam todos os padrões do GOF caso necessários. Um que acho relativamente comum é o Chain of responsabilities para tratar a resposta que vem do servidor. É óbvio que observer é usado em todas as telas. Mas as vezes Proxy também facilita o desenvolvimento de componentes. Template method e Strategy sempre entram em quase todas as aplicações. E command também é comum. Adapter já faz parte do Swing. Decorator, Iterator e Composite também é dificil programa sem eles. Mediator também às vezes se usa. Enfim, todos tem seu valor.

MVC com Swing? É só um nome e nada mais. As coisas são misturadas demais e separá-las às vezes complica desnecessáriamente.

É claro que todos aqui já conhecem a minha opinião sobre onde devem ficar os padrões JEE no caso de uma aplicação desktop decente com camada de apresentação Swing e front controller no servidor.

[]s
Luca

Caramba quanta coisa… heheh… preciso dar uma pausa no códigos bases, e estudar bem a arquitetura.

Toda ajuda será bem vinda.

Um padrão legal para ser utilizado em aplicações Swing é o Observer. Costumo utilizar bastante este padrão quando quero que uma interface seja influenciada por uma ação do usuário que está acontecendo em outra. O mesmo também pode valer para componentes dentro da mesma interface!

O próprio Swing já implemnta este padrão em vários casos, como por exemplo, entre o TableModel e uma JTable. O JTable fica “observando” as modificações do TableModel e é notificado sempre que ocorre uma alteração.