| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2003 13:23:19
|
cancao
JavaEvangelist
![[Avatar]](/images/avatar/c8a79dae3fc15bc8f1dd7.jpg)
Membro desde: 28/06/2003 19:22:53
Mensagens: 338
Offline
|
Olá,
implementei uma classe abstrata a qual contem um metodo static chamado createObject que retorna um objeto tal. Esse metodo funciona assim:
Verifica se o objeto requerido já foi criado. Se sim, pega esse objeto de um map e retorna. Senão, cria o objeto, coloca no map e retorna. Isso é um pool ou uma factory?!
Até.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2003 13:55:36
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Factory!
Ou talvez um Pooled Factory... hehehehehe
|
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) 27/10/2003 17:08:13
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
um pool eh um factory se voce implementou com factories methods. e uma factory pode vir a ser um pool, justo por isso voce encapsulou a construcao dos objetos!
outra coisa, isso da nomeclatura, voce nao deve se importar tanto. explicando que eh um pool, o pessoal vai entender.
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2003 08:44:23
|
dukejeffrie
Virtual Machine Man
![[Avatar]](/images/avatar/c74d97b01eae257e44aa9d5bade97baf.png)
Membro desde: 21/08/2002 03:53:28
Mensagens: 661
Offline
|
Um Pool é alguém que tem um número finito de instâncias simultâneas, e toma uma atitude quando há mais gente querendo uma instância daquele objeto do que instâncias disponíveis: ou ele dá pau, ou ele coloca o requerente em espera, essas coisas...
A gente usa Singleton quando a gente quer a MESMA instância todas as vezes. Como vc usa um Map, e retorna a mesma instância, me parece mais o caso.
Um Connection Pool do JDBC, que é o caso mais comum, é um carinha que tem X instâncias de java.sql.Connection numa fila. Quando alguém empresa uma collection, ele remove. Se ele tiver vazio, alguma coisa especial tem que ser feita. Com o pool do Jakarta, vc pode configurar, se a thread que pediu espera até alguém devolver uma conexão, ou se ela espera um tempo, depois falha, ou se ela falha na hora, ou se o pool cria uma conexao nova só pra atender esse carinha a mais.
Usa-se um Pool quando uma instanciação daquele objeto é cara, e vc quer portanto reaproveitar instâncias, mas não dá pra viver com um Singleton.
[]s!!
|
Brevity is the soul of wit |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2003 11:27:00
|
baiano_mg
JavaTeenager
![[Avatar]](/images/avatar/c8114d5f3fda1e2a12a1b.gif)
Membro desde: 28/07/2003 08:27:30
Mensagens: 193
Offline
|
Acho q minha situação é parecida com a do cancao. Tenho uma classe Usuario que tem um método getInstance(String uid). Mas essa classe não é um singleton. Esse método verifica se existe uma instancia com essa chave num hashtable, se tiver retorna ela, senão cria, coloca no hash e retorna.
Refaço a pergunta do cancao: isso é uma factory?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2003 20:41:45
|
cancao
JavaEvangelist
![[Avatar]](/images/avatar/c8a79dae3fc15bc8f1dd7.jpg)
Membro desde: 28/06/2003 19:22:53
Mensagens: 338
Offline
|
Eu acho que como o danieldestro disse, isso funciona como uma Pooled Factory. Bom, no meu caso e aparentemente tambem no seu, não há um numero limitado de instancias como num pool de conexões, por exemplo. Pode ser um numero variavel de instancias mas, como é caro cria-las, o preferivel e manter as que já há em cache e usar quando necessario.
Em tempo, um pool deve ter, na maioria dos casos, esquemas para tratar acessos concorrentes e garantir que a mesma instancia não será usada em dois cantos ao mesmo tempo. No meu caso e provavelmente no seu, as coisas são diferentes. Voto pelo esquema de Pooled Factory.
Até.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2003 10:05:31
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Acabei de inventar um novo Pattern.
Vou pedir pra adicionar nos do GoF.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
|
|