Padrões para aplicação swing  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 3840
Localização: São Paulo
Offline

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

valeu

-
Blog de Tecnologia
GitHub
@AguiarLuiz
Recicla SP na App Store!




[WWW] [MSN] [ICQ]
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 337
Localização: Rec->Mac
Offline

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.

Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
ItaloE
JavaBaby
[Avatar]

Membro desde: 24/08/2006 17:09:13
Mensagens: 76
Offline

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.

"Think!"

"Povo estúpido tem q se F..., vamo nos para mais 4 anos de estupidez e ignorância. Mas o povo tem o que merece"
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

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).

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
Guerr@
Virtual Machine Man
[Avatar]

Membro desde: 03/12/2006 10:32:50
Mensagens: 521
Offline

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

Eduardo Guerra - "É Java na ponta do dedo!"
Desenvolvedor de Frameworks - Pesquisador
Editor Chefe - Revista MundoJ
Professor - Instituto Tecnológico de Aeronáutica
Me siga no Twiter!!! http://twitter.com/emguerra
[Email]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

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

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 3840
Localização: São Paulo
Offline

Luca wrote: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.

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

Toda ajuda será bem vinda.

-
Blog de Tecnologia
GitHub
@AguiarLuiz
Recicla SP na App Store!




[WWW] [MSN] [ICQ]
Guerr@
Virtual Machine Man
[Avatar]

Membro desde: 03/12/2006 10:32:50
Mensagens: 521
Offline

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.

Eduardo Guerra - "É Java na ponta do dedo!"
Desenvolvedor de Frameworks - Pesquisador
Editor Chefe - Revista MundoJ
Professor - Instituto Tecnológico de Aeronáutica
Me siga no Twiter!!! http://twitter.com/emguerra
[Email]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team