Static Factory/Singleton vs Constructors  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

To lendo o Effective Java aqui, e logo no primeiro capítulo já me enrolou as idéias.
Ele sugere(quando necessário) criar métodos estáticos que retornam uma instância da classe, ao invés de construtores.
Segundo o autor, esta pratica possibilita a não-duplicação de objetos desnecessários.
Por exemplo, ao invés de fazer um new Boolean(boolean), fazer um método que retorne o Boolean.valueOf(boolean).
Porém se eu utilizar um valueOf() não vou estar da mesma forma retornando um objeto Boolean?

This message was edited 1 time. Last update was at 14/06/2005 15:39:04


------------------------------------------------------------------
"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
[Email]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

no caso especifico do Boolean eu acho que não, se não me engano ele retorna o mesmo objeto, pq ele so pode ter dois valores, eu acho(alguem???).

mas quanto ao resto da duvida, acho que vai depender muito, se vc precisar garantir estado dos objetos, criar esse tipo de metodo não acho uma boa.

[]'s

João Bier
Desenvolvedor Java
[Email]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Na verdade minha dúvida em específico é: Ele não vai criar um objeto novo em ambos os casos?Qual a diferença então de fazer um e outro?

------------------------------------------------------------------
"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
[Email]
marcioa1
Virtual Machine Man
[Avatar]

Membro desde: 29/11/2003 12:52:10
Mensagens: 736
Localização: Valinhos-SP
Offline

Não,

Ele vai retornar o único objeto criado daquela classe. É o chamado pattern Singleton.

Observe que :

1 - o construtor é privado
2 - existe uma variável estática do mesmo tipo da classe que é iniciado com null. Variável estática indica que só existirá uma instancia por classe.
3 - existe um método público do tipo getClasse que irá retornar esta variável estática.

Não estou com o livro aqui mas deve ser isto que ele explica.

Márcio

SCJP 1.4,
[Email]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Putz, é mesmo, o static vai garantir que será chamado sempre um único objeto.
Grato.

------------------------------------------------------------------
"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
[Email]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team