| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/04/2005 14:29:51
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Ae Pessoal,
Tenho uma aplicação que deve gerar uma mensagem que é o registro de todo o seu processamento, mas as partes da mensagem são geradas em diversos locais e não existe um ponto onde todas essas partes estejam disponíveis.
Eu fiz algo assim:
addField é chamado diversas vezes e tem uns outros metodos pra ir montando o conteúdo da mensagem.
Depois descobri que existe um pattern chamado Aggregator, nele diz que a base da solução é um stateful filter, mas eu não entendo minha solucao como um filtro (e stateful pra mim é singleton - j2se ), tem como fazer isso de um modo mais genérico? No meu caso minha aplicacao conhece onde gerar as partes da mensagem e o "gerador" sabe exatamente quais sao as partes da mensagem. Tá feio mas funciona, mas queria saber se tem como ser mais arrumadinho.
|
"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) 12/04/2005 15:21:07
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Parece que você está usando o padrão Builder.
|
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) 12/04/2005 15:52:48
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
louds wrote:Parece que você está usando o padrão Builder.
ehehehe, tá me complicando ... pelo que vi o Builder é pra construir objetos enquanto o Aggregator é para mensagens (é um EAI), mas basicamente são a mesma coisa (tirando que o Aggregator tem que ser stateful já que mensagens são assíncronas e não seguem a sequência de montagem de um Builder).
O problema é que não achei uma descrição com diagrama ou mais detalhes do Aggregator (e não tenho o livro )
|
"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) 12/04/2005 16:01:14
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Ahh, desculpa, entendi agora o seu problema.
Bom, o Aggregator é quase igual a um Builder, com a diferença na hora de invocar os colaboradores, tendo que prever a assincronissidade deles.
|
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) 12/04/2005 16:29:11
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
louds wrote:Bom, o Aggregator é quase igual a um Builder, com a diferença na hora de invocar os colaboradores, tendo que prever a assincronissidade deles.
Então ... é assim mesmo né? Tipo, não há uma saída genérica ou um modo de "montar" a mensagem sem estar amarrado ao contexto da aplicação (e colocar um monte de buildPart() no meio do código que tava tão bonitinho)
Meu deu um nó o cara falar em filter ... não vi um filtro na minha solução.
EDITADO: o filtro estaria se ao invés de eu montar a mensagem antes do envio eu enviasse as mensagens separadas e montasse depois, pra isso eu teria um filtro pra selecionar as mensagens, certo?
This message was edited 1 time. Last update was at 12/04/2005 16:30:16
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
|
|