| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 10:32:20
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
Criei uma interface chamada HandleDB que contém métodos para manipulação no banco de dados (insert, remove, update, list).
Tenho 4 classes: (Todas implementam HandleDB)
-ModelAdmin
-VariableAdmin
-StationAdmin
-StateAdmin
Essa é a camada de negócio.
Minha dúvida é a seguinte:
Quero utilizar Business Delegate e Service Locator para me conectar a camada de negócio, mas eu tenho dúvida qt à implementação desses patterns.
Eu poderia fazer assim?
Enfim, utilizo o Service Locator para ocultar os detalhes da implementação por trás do código de pesquisa de serviço de negócios.
É isso mesmo? Eu poderia fazer assim? Isso está certo?
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 11:17:51
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
vc ta decidindo qual objeto retornar no service locator.
acho que ta misturando as coisas.
p/ mim o service locator deve retornar um objeto, não precisa conhece-lo.
acho que vc poderia mudar esse trecho de codigo p/ uma factory.ela sim tomaria a decisão de qual objeto retornar.
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 14:02:40
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
Realmente, o q eu fiz se parece mais com uma factory!
O service locator se encaixa mais na utilização de EJB's, onde eu pegaria o serviço e apresentaria para o business delegate?
Não implementei minha camada de negócios com EJB's. O service locator se aplica somente a esse tipo de implementação?
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 14:21:07
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
acho que vc pode ter uma classe tipo service locator, que retornace um new instance de um object qualquer, e na classe que chma vc faz o cast p/ o sua classe.
e uma factory que buscasse o tipo de obj.
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 14:48:12
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
Fiz assim:
Meu DB:
Minha Factory:
Não consegui imaginar como eu usaria um service locator nesse caso. Tem como? Como ficaria?
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 15:49:48
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Use ServiceLocator basicamente para JNDI e outros esquemas 'passa-string-recebe-objeto".
Por que seu método é sincronizado?
Considere utilizar um framework de IoC como o Spring e ser mais feliz
[]s
|
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) 14/01/2005 15:56:10
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
O Service Locator é uma forma de Factory.
Fora isso você está misturando a camada de persistencia com a de negocios.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 16:02:32
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
A respeito do synchonized é uma dúvida q eu tenho faz tempo.
Pode acontecer de, por ser um método estático, meu objeto ser trocado por uma outra thread executando ao mesmo tempo esse método?
Vamos supor q um usuário entrou no sistema junto com outro usuário. Os dois pedem uma requisição e ao mesmo tempo eles entram nesse método. Não pode acontecer de retornar um valor errado?
Pensei em colocar synchronized, para q esse método seja executado separadamente, sem inteferir com outras threads.
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 16:09:32
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
isso deve te ajudar a entender melhor
Basicamente o método vai executar várias vezes, mas cada vez é única e não interfere com as outras. O que você pode ter problema é se os métodos acessarem um recurso em comum, como um atributo (estático, no caso), aí eles pdoem alterar o valor ao mesmo tempo e essas coisas.
O objeto que vc retorna numa thread é dela e ng tasca
[]s
This message was edited 1 time. Last update was at 14/01/2005 16:11:49
|
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) 14/01/2005 16:34:52
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
hmmm! entendi!
Valew!
louds wrote:O Service Locator é uma forma de Factory.
Fora isso você está misturando a camada de persistencia com a de negocios.
Uma Framework de persistência já implementa a separação da camada de negócio?
É q estou estudando Struts e pretendo começar a estudar algum Framework para trabalhar com persistência.
O q vc sugere?
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 16:54:55
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
*eu sugiro*
MVC: WebWork ou Spring IoC
Persistência: Hibernate ou JDBC+DAO, se o sistema for simples
Gerência da procaria toda: Spring
Tudo depende dos seus requisitos na verdade, e do tempo hábil.
(eu não usaria Struts, foi lançada a pouco a campanha SALVEM AS FOCAS)
|
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) 14/01/2005 17:01:42
|
Luiz Henrique Coura
Java Ninja
![[Avatar]](/images/avatar/d9b1655c134b831076d6c45620a78c33.jpg)
Membro desde: 28/04/2004 21:03:05
Mensagens: 283
Localização: Lorena-SP
Offline
|
Campanha Salvem as Focas?
Não entendi!
Qual o problema de utilizar Struts?
|
"A única pergunta estúpida é aquela que você nunca faz"
Anônimo
Luiz Henrique Coura |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 17:14:10
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Luiz Henrique Coura wrote:Campanha Salvem as Focas?
Não entendi!
Qual o problema de utilizar Struts?
cv um dia wrote: Toda vez que voce usa Struts, Deus mata um bebe foca. Pense nas pobres foquinhas, e parem de usar esse lixo. Por favooooooooooooooooooor.
Aqui ele teve essa inspiração ...
PS: Pessoaaal, achei esse post ai de cima no Google, finalmente o forum do guj está indexado que é uma beleza!!!!
PS2: 99,767
This message was edited 2 times. Last update was at 14/01/2005 17:17:24
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 17:44:43
|
Diogenes
Virtual Machine Man
![[Avatar]](/images/avatar/ea8fcd92d59581717e06eb187f10666d.png)
Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline
|
smota wrote:PS2: 99,767
Tâmo quase lá!
pcalcado wrote:
(eu não usaria Struts, foi lançada a pouco a campanha SALVEM AS FOCAS)
Ô Shoes, bem q tuh podia colocar uma foquinha nesse avatar seu neh?!
O Greenpeace ia adorar!
|
Diogenes
"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2005 18:33:46
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Ja que usaram meu nome (iniciais?) em vao, eu vou dar pitaco tambem.
Nao use ServiceLocators nem Factories. Ja tiveram todo o trabalho de fazer uma PUTA factory generica, que eh o Spring. Se voce tiver sem saco de usar o Spring, ou ficar com nojinho do XML, voce pode usar o PicoContainer. Mas nao faca ServiceLocator ou Factory na mao, a menos que vc queira consertar depois. Pq ninguem faz isso direito
|
|
|
 |
|
|