De novo os Getters e Setters  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
fabiozoroastro
GUJ Master
[Avatar]

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

andredeividi
Virtual Machine Man
[Avatar]

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/

[Email] [WWW] [MSN]
danieldestro
Moderador
[Avatar]

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
[WWW]
danieldestro
Moderador
[Avatar]

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
[WWW]
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
danieldestro
Moderador
[Avatar]

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
[WWW]
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
pcalcado
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
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....
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
danieldestro
Moderador
[Avatar]

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
[WWW]
Emerson Macedo
Virtual Machine Man
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
pcalcado
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team