| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:13:51
|
rodolfogs8
Java Ninja
![[Avatar]](/images/avatar/5c3b44401b674811b5e8088e1a24e7a5.jpg)
Membro desde: 20/01/2007 02:11:39
Mensagens: 273
Localização: Interlagos - SP
Offline
|
Galera como eu passo muitos parametros para um metodo por exemplo
Metodo(var1, var2, var3, var4, var5, var6, var7, var8, var9, va10, var11, var12, var13, var14, var15, var16, var17........);
queria saber se nao existe um jeito mais simples de economizar espaco de otimizar o codigo ou seja existe uma forma de passar essa penca de parametros mais simples?? lembrando que sao de diveroso tipos, String, int, float eu pensei em um vetor seria uma boa ideia?
|
Rodolfo(-_-)ZZzzzZZzzzZzzzz....
Saw III |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:19:12
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Certamente seu código ta fazendo coisa demais, e que provavelmente nem é papel dele.
Refatore, não há maneira melhor de diminuir a complexidade.
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:19:14
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
Cara, se o seu método está recebendo esse tanto de parâmetros, com certeza existe um problema sério nele de falta de coesão... provavelmente ele está fazendo mais coisas do que deveria...
Outra coisa que pode ser feita é tentar agrupar esses parâmetros em objetos e passar o objeto em si, em vez dos parâmetros individuais
Um abraço
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:22:37
|
maquiavelbona
JWizard
![[Avatar]](/images/avatar/24bea84d52e6a1f8025e313c2ffff50a.jpg)
Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline
|
O que queres fazer é um anti-pattern, só estou procurando o nome dele.
Até!
|
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)
"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:36:38
|
rodolfogs8
Java Ninja
![[Avatar]](/images/avatar/5c3b44401b674811b5e8088e1a24e7a5.jpg)
Membro desde: 20/01/2007 02:11:39
Mensagens: 273
Localização: Interlagos - SP
Offline
|
Na verdade eu tenho uma classe que busca infor~ções na tabela ela fica rodando constantemente, e uma outra que e a minha tela ou seja ela fica apenas modificando os valores dos objetos dela com os metodos que sao chamados na classe runable so que sao muitos objetos com muitas variaveis como eu seto todos esses objetos sem passar essa penca de parametros entao??/
valeu
|
Rodolfo(-_-)ZZzzzZZzzzZzzzz....
Saw III |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:51:52
|
rodrigo_corinthians
JavaEvangelist
Membro desde: 07/06/2005 12:01:01
Mensagens: 316
Offline
|
Se usa Java 5 neh?
Entaum faça assim... e na chamada do método vc passa quantos objetos quiser separado por vírgula.
Sem mais, Rodrigo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:55:58
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
rodrigo_corinthians wrote:Se usa Java 5 neh?
Entaum faça assim... e na chamada do método vc passa quantos objetos quiser separado por vírgula.
Sem mais, Rodrigo.
Não me leve a mal, mas vejo isso como contornar uma gambiarra com outra gambiarra.
Refatore seu código, certamente não há necessidade de esse método existir.
Lembre-se que seus objetos não são apenas estruturas de dados com funçõezinhas dentro.
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 09:57:55
|
rodolfogs8
Java Ninja
![[Avatar]](/images/avatar/5c3b44401b674811b5e8088e1a24e7a5.jpg)
Membro desde: 20/01/2007 02:11:39
Mensagens: 273
Localização: Interlagos - SP
Offline
|
Galer o problema e que tenho que passar mais de 100 variaveis de uma classe para a outra, isso e que nao sei como fazer sem ser entupindo um metodo kkkk
|
Rodolfo(-_-)ZZzzzZZzzzZzzzz....
Saw III |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:00:51
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
OK.
Quanto a isso posso te dar apenas dicas.
Isso seria legal vc ler.
http://fragmental.com.br/wiki/index.php/Fantoches
Estude também sobre "refatoração de código".
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:08:58
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
Refactore seu código e trabalhe com composição. Crie classes que possuem poucos atributos e o comportamento relativo a estes atributos, de maneira coesa.
Utilize estas classes como atributos (componentes) dentro de outras classes.
Você pode criar um DAO para cada classe, quando aplicável. Não sei se vale a pena criar algo deste tipo para uma classe que possui dois atributos... Mas nesta sua classe que fica varrendo o banco com thread vc pode implementar as chamadas aos DAOs, recuperando seus objetos de maneira separada e organizada e montando as composições de volta, nao com um método que faz tudo sozinho. Isso é bagunça.
|
Cássio Marques
Blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:14:51
|
Guilherme Gomes
Virtual Machine Man
![[Avatar]](/images/avatar/1d32607ab01409c4b6916c5cae13b269.jpg)
Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline
|
Se voce realmente não quer mexer no seu código (que é o mais aconselhável, pois não deveria ter um método que chegue neste ponto), use uma Lista com os parâmetros. Voce ainda pode usar um hashmap com lista pra organizar por tipo:
Mas realmente aconselho a dar uma reestruturada no seu projeto!
|
-----------
Atenciosamente,
Guilherme V. F. Gomes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:30:45
|
rodolfogs8
Java Ninja
![[Avatar]](/images/avatar/5c3b44401b674811b5e8088e1a24e7a5.jpg)
Membro desde: 20/01/2007 02:11:39
Mensagens: 273
Localização: Interlagos - SP
Offline
|
Galera tbm to achando que o meu projeto ta meio desorganizado, assim ontem uma classe que e a tela so que ela ta com um codigo infinitamente infinito kkkkkk pois tenhos muitos objetos na tela como, campos de texto, botoes, paineis e diversoso mais...como eu consigo dividir isso por classes e obter uma classe que apenas chama os pedacinhos da tela? exemplo no painel um eu tenho uma classe so p ele, o painel dois outra classe so para ele e possivel isso ou seja e viavel?
|
Rodolfo(-_-)ZZzzzZZzzzZzzzz....
Saw III |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:38:41
|
diegobmd
Thread.start()
Membro desde: 31/05/2007 16:06:42
Mensagens: 28
Offline
|
Cara uma boa opção seria vc criar um bean con set's e get's e passa-lo como parametro
blza...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 10:55:28
|
rodrigo_corinthians
JavaEvangelist
Membro desde: 07/06/2005 12:01:01
Mensagens: 316
Offline
|
nbluis wrote:
rodrigo_corinthians wrote:Se usa Java 5 neh?
Entaum faça assim... e na chamada do método vc passa quantos objetos quiser separado por vírgula.
Sem mais, Rodrigo.
Não me leve a mal, mas vejo isso como contornar uma gambiarra com outra gambiarra.
Refatore seu código, certamente não há necessidade de esse método existir.
Lembre-se que seus objetos não são apenas estruturas de dados com funçõezinhas dentro.
Realmente tanb acho que não seria a melhor solução mas isso não é gambiarra afinal inventaram essa feature no generics pra resolver esse problema(passagem de 'n' argumentos)? Mas lógico conforme todos citaram aqui o correto seria refatoração do código.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2007 11:14:02
|
rodolfogs8
Java Ninja
![[Avatar]](/images/avatar/5c3b44401b674811b5e8088e1a24e7a5.jpg)
Membro desde: 20/01/2007 02:11:39
Mensagens: 273
Localização: Interlagos - SP
Offline
|
Galera eu to chegando a conclusao de que e mais dificil aprender OO do que a sintaxe de Java.... meu eu estava acostumado a programar em linguagens cujo codigo era uma lista giganteeeeeeee.kkkkkkkk ai vem o java e mostra que e melhor criara muitos arquivos com poucos codigos e todos se comunicando entre si seria mais ou menos isso ne?? kkk
|
Rodolfo(-_-)ZZzzzZZzzzZzzzz....
Saw III |
|
|
 |
|
|