Business Delegate e Service Locator  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Luiz Henrique Coura
Java Ninja
[Avatar]

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

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
[Email]
Luiz Henrique Coura
Java Ninja
[Avatar]

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

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
[Email]
Luiz Henrique Coura
Java Ninja
[Avatar]

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
[MSN]
pcalcado
Moderador
[Avatar]

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

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
[ICQ]
Luiz Henrique Coura
Java Ninja
[Avatar]

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
[MSN]
pcalcado
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
Luiz Henrique Coura
Java Ninja
[Avatar]

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
[MSN]
pcalcado
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
Luiz Henrique Coura
Java Ninja
[Avatar]

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
[MSN]
smota
Moderador
[Avatar]

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

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)


[Email] [MSN]
cv
Moderador
[Avatar]

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