| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 11:35:31
|
luiz_ross
GUJ Master
![[Avatar]](/images/avatar/ac627ab1ccbdb62ec96e702f07f6425b.jpg)
Membro desde: 25/09/2002 16:38:34
Mensagens: 1110
Localização: Salto, SP
Offline
|
Vagando pela net, achei um artigo bem interessante de um tal de Allen Holub AQUI,
onde o autor mostra uma alternativa aos famigerados getter´s e setter´s que tanta gente detesta.
Apesar de eu ter achado uma boa solução pra matá-los , tambem achei um pouco complexa. Gostaria de ter a opinião da galera sobre a alternativa usada pelo autor, e também, como é que vc´s tem feito para evitar o uso dos getter´s e setter´s.
This message was edited 1 time. Last update was at 26/04/2005 11:36:09
|
"Quanto mais inteligente é um homem, mais originalidade ele descobre nos homens. Pessoas ordinárias não enxergam nenhuma diferença entre eles" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 12:00:40
|
maxguzenski
Virtual Machine Man
![[Avatar]](/images/avatar/d4c2e4a3297fe25a71d030b67eb83bfc.jpg)
Membro desde: 07/03/2003 11:47:42
Mensagens: 549
Localização: Porto Alegre
Offline
|
cara, eu nao tenho absolutamente nada contra os getters e setters
Mas mesmo q eu tivesse, essa ideia de usar um monte de Interfaces e tal da muito trabalho...
|
Maximiliano Ferreira Guzenski
Sun Certified Java Programmer 1.4
Sun Certified Web Component Developer 1.4
http://www.guzenski.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 12:14:28
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
Fora a parte do HTML, achei bonito. Mas realmente trabalhoso. Preferi o meu jeito fazendo uma gambiarrinha com reflection hehe
E maxguzenski, quando estiver envolvido num projeto médio/grande, vai ver que dói bastante colocar tudo nas actions, como o autor demonstra aqui:
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 12:20:09
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
[ainda não li o artigo, o site aparece lento demais aqui ]
O problema não é get/set, o problema é expôr desnecessariamente um atributo
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 13:14:18
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline
|
Eu gostei da idéia de deixar seus atributos e getters/setters como privado, e só expor a interface dométodo responsável por alguma ação.
|
------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."
http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 14:07:03
|
maxguzenski
Virtual Machine Man
![[Avatar]](/images/avatar/d4c2e4a3297fe25a71d030b67eb83bfc.jpg)
Membro desde: 07/03/2003 11:47:42
Mensagens: 549
Localização: Porto Alegre
Offline
|
hm, sera q o projeto q estou trabalhando a 2 anos pra uma multinacional , com uma equipe de 10 pessoas , utilizando Spring/Hibernate e Jboss é um projeto de medio/grande porte ?
E exatamente por isso, o projeto tem cerca de 50 tabelas, mais de 50 classes de hibernate... sem contar classes de view, controller , toneladas de DAO
me parece q essa ideia das Interfaces iria aumentar de forma desnecessária o trabalho para projetos grandes, pois nao iria diminuir a possibilidades de erro... no maximo ia ficar mais elefante (e atrazado).
|
Maximiliano Ferreira Guzenski
Sun Certified Java Programmer 1.4
Sun Certified Web Component Developer 1.4
http://www.guzenski.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 15:08:26
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
max, isso é pequeno, na verdade pequeníssimo hehe temos dois projetos desse tamanho aqui. Se o cv aparecer, quem sabe ele fale do projeto com 20mbs de .java em que está trabalhando.
Concordo que o que o autor sugere é um pouco exagerado. Mas aprendi que colocar lógica de negócio fora dos objetos é uma grande cagada, obviamente, tudo tem exceções. No princípio não parece, mas depois vai doer, acredite
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2005 15:16:34
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Aidna não li tud, mas já vou pitacar:
Como java não tem selective export (falei sobre isso aqui outro dia), você pdoe sim utilizar interfaces para demarcar o que um cliente pdoe ver de uma classe, entretanto a abordagem dele acaba criando tantas interfaces distintas e em lugares tão exóticos que parece complicar as coisas muito mais.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 07:31:14
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
LIPE wrote:max, isso é pequeno, na verdade pequeníssimo hehe temos dois projetos desse tamanho aqui. Se o cv aparecer, quem sabe ele fale do projeto com 20mbs de .java em que está trabalhando.
20mb? Sao 150
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 09:18:50
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Gostei dessa ideia mas pela integração da UI do que pela eliminação das getters e setters.
Dá para fazer binding de uma maneira bem interessante.
Agora o que eu não gosto dos getters e setters é somente a nomeclatura.
Em outras linguagens como PHP eu usava
definirXXX e obterXXX.
Podem achar que é uma frescura, mas se a classe está toda em portugues fica muito esquisito colocar coisas em ingles.
Esse negócio de get e set eu uso só por inércia como muita coisa do java.
como retornar collection generica.
eu acho melhor não expor a collection mas sim criar métodos de manipulação.
ex:
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 09:42:55
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Quando expondo um atributo, eu preferiria
Na verdade, o setter tanto faz (ccom código em inglês eu usaria get), mas a query sendo apenas o nome do que se quer obter (não necessariamente o nome do atributo, você pdoe, por exemplo, calcular idade em runtime baseado na data de nascimento) é mais natural.
O que é melhor:
ou
? (nota: esqueça padronização aqui)
This message was edited 1 time. Last update was at 27/04/2005 09:43:38
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 09:52:32
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Ficou melhor ainda sem o obterXXX.
É verdade, fica mais intuitivo você ter funcionario.idade().
Eu acho que o pessoal do GUJ deveria fazer uma campanha.
"Vamos adotar padrões decentes !!!".
O que complica é que em frameworks como hibernate, struts a gente fica dependente dos getters e setters.
Ou Nao ?
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 09:56:51
|
fabio.patricio
GUJ Master
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
maxguzenski wrote:hm, sera q o projeto q estou trabalhando a 2 anos pra uma multinacional , com uma equipe de 10 pessoas , utilizando Spring/Hibernate e Jboss é um projeto de medio/grande porte ?
E exatamente por isso, o projeto tem cerca de 50 tabelas, mais de 50 classes de hibernate... sem contar classes de view, controller , toneladas de DAO
me parece q essa ideia das Interfaces iria aumentar de forma desnecessária o trabalho para projetos grandes, pois nao iria diminuir a possibilidades de erro... no maximo ia ficar mais elefante (e atrazado).
Garanto que muitas dessas classes poderiam ser jogadas fora. Quantas so de VO/DTO que nao fazem nada a nao ser um monte de get/set tem por ai?
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 09:57:49
|
fabio.patricio
GUJ Master
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
pcalcado wrote:
ou
? (nota: esqueça padronização aqui)
Eu prefiro a segunda, mas uso a primeira pela padronizacao.
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/04/2005 10:21:05
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
fabgp2001 wrote:
Eu prefiro a segunda, mas uso a primeira pela padronizacao.
Pois é, apesard e mais natural, na verdade quando você trabalha com algo que outras pessoas precisam ler é melhor seguir padrões.
BTW: http://www.guj.com.br/posts/list/23490.java
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
|
|