| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/04/2007 02:34:15
|
TheMask
JavaBaby
![[Avatar]](/images/avatar/e6abb6620be44e2035008f84888a43b1.jpg)
Membro desde: 14/04/2006 19:28:16
Mensagens: 79
Offline
|
Ponto pacífico que singletons são mal usados por aí e, portanto, configura-se um antipattern. Porém, alguém teria um exemplo de onde um singleton é bem vindo? De preferência, com um trecho de código.
|
**** Demaaaaaaais ****
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/04/2007 07:21:12
|
plentz
Moderador
![[Avatar]](/images/avatar/73f490f3f868edbcd80b5d3f7cedc403.png)
Membro desde: 28/01/2004 07:34:12
Mensagens: 1584
Localização: Porto Alegre, RS
Offline
|
SessionFactory do Hibernate.
http://www.hibernate.org/42.html > What about the SessionFactory?
|
Diego Plentz - Twitter
"Provide options, don't make lame excuses." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/04/2007 09:42:28
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7839
Localização: São Paulo, SP
Offline
|
SessionFactory eh bem melhor injetado do que como Singleton (ou testar vira um inferno).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/04/2007 18:15:39
|
Juk
JavaChild
![[Avatar]](/images/avatar/f2b6806d6ed60d2d87b0dd5ae62e6f20.jpg)
Membro desde: 14/07/2006 18:09:33
Mensagens: 104
Offline
|
deus é um bom exemplo se for em um aplicativo católico, se for um aplicativo celta ou egípcio ja mia..
|
Meu blog: http://blogdojuk.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 04:15:29
|
josenaldo
GUJ Master
![[Avatar]](/images/avatar/986ad3ada4d93c1c474674751f941082.png)
Membro desde: 27/11/2006 12:39:28
Mensagens: 1140
Localização: Uberlândia/MG
Online
|
Juk wrote:deus é um bom exemplo se for em um aplicativo católico, se for um aplicativo celta ou egípcio ja mia..
[joke mode]
Como assim Deus é um singleton? E o esquema da Santissima trindade?
Deus implementa Três Interfaces (Pai, Filho e Espírito Santo)?
As outras entidades (Filho e Espírito Santo) implementam uma indireção com Deus?
Deus é uma superclasse? Ou é a própria JVM?]
Deus me perdoará por este post?
[/joke mode]
|
Josenaldo de Oliveira Matos Filho
UAIJUG - http://www.uaijug.com.br
http:jnaldo.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 14:35:26
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
cv wrote:SessionFactory eh bem melhor injetado do que como Singleton (ou testar vira um inferno).
Comentário perfeito!
|
Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 15:00:36
|
neohacker
Virtual Machine Man
![[Avatar]](/images/avatar/e5a419ed77a4e034849e1e1b68ba015e.jpg)
Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline
|
Galera eu estou aprendendo Java, e pelo menos acho que ja estou bom nos fundamentos e agora começei a ler sobre Singleton e estava tentando reestruturar uma classe que eu tinha de conexão com o DB, mas estou tendo alguma dificuldades bobas e precisava de alguma ajuda.
O que eu devo mudar pra deixar esta classe dentro do padrão (ou melhor forma)
o método getInstance não está legal estou com problemas de como resolver ele
Obs: se for possivel (não quero abusar) se pudessem postar explicações aqui msm ou em algum outro tópico do GUJ, pois não tenho acesso em nenhum outro site.
Obrigado pela ajuda galera
|
http//www.tecnologiaims.blogspot.com
↑ Grab this Headline Animator http://www.imstechnology.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 15:54:44
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19455
Localização: Curitiba/PR
Offline
|
Ok, seu método getInstance retorna um objeto do tipo Connection. Sua variável também é do tipo Connection, então, como você espera dar um new ConexaoDB() nela?
Então vamos lá. O primeiro passo para o seu singleton é remover todos os atributos estáticos. Se você terá somente uma instância dessa classe, pode usar os atributos dessa instância.
Projete a classe normalmente, como se ela não fosse um singleton, depois:
1. Deixe o seu construtor privado;
2. Crie o atributo estático para a instância única da sua classe;
3. Crie o método estático para obter essa instância.
No seu caso, acho que a classe ficaria mais ou menos assim:
O uso da classe fica simplesmente:
Só lembre-se que o singleton uma vez criado, não será mais removido de seu programa. Preste especial cuidado para recursos que ficam abertos e precisam de tratamento especial para serem fechados, como é o caso de uma Connection.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 16:23:03
|
neohacker
Virtual Machine Man
![[Avatar]](/images/avatar/e5a419ed77a4e034849e1e1b68ba015e.jpg)
Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline
|
Desculpa a incapacitação de compreenção, mas ta treta entender. Estou pensando assim, mas é certeza que isso ta errado ta com cheiro de gambiarra.
Poderiam demostrar uma classe de controle a Bando de Dados pra eu poder me basear legal, mas ainda vou mandar a minha pra vcs darem uma criticada legal ai como ajuda.
Vw Galera
|
http//www.tecnologiaims.blogspot.com
↑ Grab this Headline Animator http://www.imstechnology.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 16:34:45
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19455
Localização: Curitiba/PR
Offline
|
O método setDeath dessa forma pode fazer o seu Singleton deixar de ser singleton!
Outra coisa, qual é a idéia por trás de tantos métodos synchronized? Se for manter o seu código thread-safe, não está indo por um bom caminho, já que você vai retornar a mesma conexão para várias threads. O ideal seria criar uma conexão por thread, usando um thread local, ou criar um Pool de conexões. Como isso não é tarefa das mais fáceis, você pode pegar um pool pronto, como do projeto Jakarta DBCP.
This message was edited 1 time. Last update was at 30/07/2008 14:42:18
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2007 16:40:57
|
neohacker
Virtual Machine Man
![[Avatar]](/images/avatar/e5a419ed77a4e034849e1e1b68ba015e.jpg)
Membro desde: 30/10/2006 15:23:14
Mensagens: 576
Localização: Santo André
Offline
|
Blz, quando chegar em casa do uma olhada, pois aqui é tudo bloqueado.
Mas blz, vo tentar estudar mais alguma outra coisa.
Vlww
|
http//www.tecnologiaims.blogspot.com
↑ Grab this Headline Animator http://www.imstechnology.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2008 21:38:29
|
nique
What is classpath?
Membro desde: 04/06/2008 23:08:23
Mensagens: 7
Offline
|
Tenho que fazer um projeto pra faculdade usando o padrão singleton.
Mais não sei qual aplicação??? Preciso de uma idéia para fazer o programa....
Vlw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2010 11:38:17
|
discorpio
Virtual Machine Man
Membro desde: 06/02/2010 18:46:46
Mensagens: 502
Localização: Rio de Janeiro
Offline
|
Bom dia a todos.
josenaldo wrote:
Juk wrote:deus é um bom exemplo se for em um aplicativo católico, se for um aplicativo celta ou egípcio ja mia..
[joke mode]
Como assim Deus é um singleton? E o esquema da Santissima trindade?
Deus implementa Três Interfaces (Pai, Filho e Espírito Santo)?
As outras entidades (Filho e Espírito Santo) implementam uma indireção com Deus?
Deus é uma superclasse? Ou é a própria JVM?]
Deus me perdoará por este post?
[/joke mode]
Já dizia Lavosier que DEUS é o Perfeito Filósofo, Químico, Físico, Astrônomo, Matemático, .......enfim, até em outras Ciências desconhecidas do homem. Portanto DEUS não é uma Superclasse, DEUS não é um programa, além de DEUS ser o nosso Pai, ele também é o Pai da Ciência.
Só por esta razão, de DEUS ser também o nosso Pai, acredito que Ele te perdoará, assim como já me perdoou várias vezes.
Contudo, como aqui não é o espaço para falar de religião, voltemos ao foco, e vamos falar sobre Singleton e Hibernate, gostaria de aprender sobre o assunto.
|
O Senhor é meu Pastor e nada me faltará. (Sl. 23:01) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2010 12:08:23
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3174
Localização: Rio de Janeiro
Offline
|
Um bom exemplo de Singleton?
System.out
System.err
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2010 12:09:07
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3417
Offline
|
TheMask wrote:Ponto pacífico que singletons são mal usados por aí e, portanto, configura-se um antipattern. Porém, alguém teria um exemplo de onde um singleton é bem vindo? De preferência, com um trecho de código.
Procure no javadoc por Runtime e Desktop. São dois singletons.
Mais sobre singleton verdadeiros aqui
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
|
|