| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 18:19:37
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Pessoal,
Eu leio com frequência em blogs, forums etc etc etc sobre não utilizar a nomenclatura de gets e sets. Até gosto da ideia, compreendi a tese mas .......
Como fazer quando você utiliza alguma coisa que precisa que a sua classe tenha os metodos get e set como por exemplo a JSTL (se eu estiver enganado me corrijam por favor) ? Volta-se para o get e set ? ou abandona e utiliza outra alternativa ? Não seria mais facil continuar utilizando os gets e sets já que é compativel com tudo que é framework, ou seja, os que dependem dessa nomenclatura e os que não dependem, vide os que utilizam reflection ?
Aguardo um debate sadio sobre esse assunto.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 18:44:59
|
fabiozoroastro
GUJ Master
![[Avatar]](/images/avatar/d28a3097fa7cf63ad01c4f328314e2f2.jpg)
Membro desde: 15/05/2006 16:23:01
Mensagens: 1262
Offline
|
Posta aew os links que falam pra NÃO usar os getters e setters.
|
[]'s
..."Apenas sorria!"
Twitter
Blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:02:43
|
andredeividi
Virtual Machine Man
![[Avatar]](/images/avatar/a2b8a85a29b2d64ad6f47275bf1360c6.jpg)
Membro desde: 20/08/2005 10:55:12
Mensagens: 635
Localização: Joinville Sc
Offline
|
get , set são nomenclatura padrão para o Encapsulamento
nada te impede de inves de usar
usar assim
caso vc num queira Encapsular nada
invés de
use assim
assim vc nem precisa instaciar seu Objeto.
ou
|
http://andrecaetano.blogspot.com/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:05:55
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Alguns mais "puristas" discordam de usar get e set como prefixo, sendo que usar o nome do atributo bastaria.
Ex:
Mas quando você tem um legado de frameworks e convenções que dependem dos get/set, não tem o que fazer, apenas aderir ao convencionado.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:06:47
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Isso não é bem encapsulamento.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:22:51
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Pessoal,
Ninguem até agora além do daniel respondeu alguma coisa de util. Para que serve o get e set eu sei, basta ler a minha mensagem de abertura do tópico. A questão é como fazer no caso de utilizar algum framework, taglib, linguagem de script que necessite dos getters e setters.
Exemplos bem realistas: JSTL, EL.
Eu utilizo JSTL e a Expression Languagem direto inclusive combinadas (Nossa que Obvio, nem precisava falar )
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:24:23
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Já respondi!
danieldestro wrote:Mas quando você tem um legado de frameworks e convenções que dependem dos get/set, não tem o que fazer, apenas aderir ao convencionado.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:25:00
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
danieldestro wrote:Mas quando você tem um legado de frameworks e convenções que dependem dos get/set, não tem o que fazer, apenas aderir ao convencionado.
Eu penso igual a você mas pelo que eu entendi de posts de algumas pessoas .... (estou tentando localizar os links), me parece que é tosco utilizar em qualquer situação.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 19:29:28
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Why getter and setter methods are evil
http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2007 21:38:03
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Acho que você precisa ler o artigo.. e alguns outros também.
O problema não é o nome, o problema é pensar que acessores e mutatores te dão encapsulamento.
|
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) 28/03/2007 22:01:35
|
lavh
GUJ Master
Membro desde: 30/07/2006 16:09:55
Mensagens: 1311
Offline
|
Esse artigo tbm é bem legal: http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/
Quanto ao que fazer com frameworks que utilizam esse nomenclatura, acho que na verdade não se tem muito o que fazer...se precisa, precisa e pronto!
Essa idéia que o Daniel levantou, que alguns puristas acham que o nome do atributo bastaria...eu acho que é interessante....algumas linguagens jah fazem assim....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2007 14:30:33
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Shoes, como eu disse na abertura do tópico eu entendi a questão de retirar os gets e sets e só utilizalos quando necessário etc etc etc. Já li esse artigo no fragmental e zilhões de outros. A questão é: quando você precisa utilizar uma lista da classe Pessoa por exemplo com JSTL forEach e depois imprimir todos os dados do cliente (exemplo bem básico) você necessitaria dos getters e ai qual a solução que o pessoal geralmente dá ? você por exemplo, o que você faz nesse caso ? Abraço
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2007 14:33:34
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
CARA, neste caso, a convenção é usar GET e SET.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/03/2007 14:52:12
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Daniel, foi exatamente o que eu falei. Volta-se ao caso inicial. Não estou dizendo que devemos sair criando get e set para qualquer coisa. O que eu quero dizer é ao invez de criar um metodo nome() para recuperar um atributo nome eu prefiro o getNome porque é mais compativel com tudo que é framework que se usa hoje em dia. Claro que isso somente quando necessário. O que acontece é que hoje temos muitos sistemas de consulta onde você monta uma collection poe no request e tem que iterar e exibir cada atributo de uma classe praticamente. Nessa situação eu achei muito complicado fugir dos getters. Acho que o Shoes deve ter entendido errado heim Shoes ?
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2007 01:27:56
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Então, Emerson, como falei no outro post não tem problema você usar getNome() em vez de nome() (até é recomendado em Java), o problema não é esse. O problema é ter gets pra tudo.
Resumindo: use os gets e sets quando fizerem sentido.
|
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 |
|
|
 |
|
|