| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 16:28:41
|
Guilherme_82
Debugger
Membro desde: 08/06/2005 17:24:33
Mensagens: 59
Offline
|
Olá pessoal,
Estou com uma dúvida para criação de diagramas de sequencia que não encontro solução em lugar algum!
Qual a melhor maneira de modelar a invocação de métodos em interfaces?
Em frameworks como Spring em que a classe possui como atributo uma interface e é invocado um método da mesma.
Mas o método efetivamente que implementa aquela chamada é o método da classe que implementa a interface, por injeção de dependência.
Como modelo essas chamadas? Passo a chamada para a interface (que é o que será codificado) ou direto para a implementação?
Obrigado, guilherme maranhao
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 17:12:31
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 669
Localização: Rio de Janeiro - RJ
Offline
|
Será que você precisa realmente representar a objeto que vai ser injetado? Se o objetivo de injetar a dependência é te dar flexibilidade, pra que você vai precisar representar a instância, sendo que essa pode variar?
Considere também o fato de que a interface é quem diz o que acontece, a implementação diz como. Portanto, num diagrama de sequência, basta a interface.
[]s
This message was edited 1 time. Last update was at 23/07/2008 17:13:21
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/07/2008 06:43:15
|
Guilherme_82
Debugger
Membro desde: 08/06/2005 17:24:33
Mensagens: 59
Offline
|
Entendo o que vc quer dizer.
Mas na sequencia do diagrama, preciso representar as interações e chamadas desse método da interface, que na verdade é implementado por uma outra classe.
Como eu representaria? Modelaria essas interações sendo implementadas pela interface? acredito que não....
preciso mostrar a execução do método da interface.
o que vc sugere?
obrigado
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/07/2008 12:42:55
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 669
Localização: Rio de Janeiro - RJ
Offline
|
Talvez você esteja entrando num nível de detalhe mais profundo de implementação. Se esse for seu caso, vá em frente. Só tome cuidado pra não programar 2 vezes: 1 na UML e depois no código fonte.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/07/2008 13:17:33
|
Guilherme_82
Debugger
Membro desde: 08/06/2005 17:24:33
Mensagens: 59
Offline
|
De fato. mas preciso que alguns níveis de implementação fiquem no projeto para manter a padronização dos códigos entre os implementadores. Mas detalhes mínimos de tecnologia podem ser abstraidos.
obrigado, guilherme
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/07/2008 16:26:54
|
rodrigoy
Virtual Machine Man
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline
|
Diagramas de Sequência mostram a interação entre objetos. Leia isso como "a maneira que os objetos trocam estímulos". É uma péssima idéia usar isso para mostrar o comportamento interno do objeto. A UML é mais high-level. Não é uma linguagem de implementação. Se você quiser detalhes vá ao código.
Ter ambiguidade entre artefatos é muito ruim.
E outra, não é a UML que vai manter os programadores na linha.
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/07/2008 20:44:20
|
Rodrigo Manhães
JavaGuru
![[Avatar]](/images/avatar/3e9f7c16bd1cdea78f8e2eea72dfdfbe.png)
Membro desde: 14/07/2005 17:07:07
Mensagens: 238
Localização: Campos dos Goytacazes/RJ
Offline
|
rodrigoy wrote:Ter ambiguidade entre artefatos é muito ruim.
Exato. DRY não diz respeito apenas a código.
|
http://programacaoradical.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 05:19:44
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5167
Localização: Sydney - Australia
Offline
|
E lembrando que UML é uma ótima maneira de comunicar e discutir coisas mas umas péssima linguagem para modelar funcionamento já que não é executável.
|
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) 25/07/2008 07:14:03
|
Guilherme_82
Debugger
Membro desde: 08/06/2005 17:24:33
Mensagens: 59
Offline
|
Como então seria o sucesso de ferramentas de geração automática de códigos sem um detalhamento nos diagramas de sequencia?
Lembrando que ferramentas para esse propósito é a grande aposta de engenheiros de software, MDA, EA...
não estou defendendo essa opinião. concordo, com o meu pouco conhecimento, que o papel do implementador é fundamental.
O que vcs acham?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 07:45:16
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 669
Localização: Rio de Janeiro - RJ
Offline
|
Eu não diria que essas ferramentas são um sucesso. Pelo contrário, são/foram um fracasso.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 09:00:32
|
rodrigoy
Virtual Machine Man
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline
|
Nem tanto o céu, nem tanto a terra... Talvez a MDA seja específica demais, rigorosa demais e a OMG a tenha levado como sempre como se fosse a bala de prata e a última bolacha do pacote. Porém, transformação de modelos e geração de código são ferramentas que podem ser usadas baseadas na idéia da MDA.
As vezes eu uso geração de código do modelo UML para poupar tempo após uma leve modelagem inicial. Não significa que sempre tem que ser assim.
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 23:16:13
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5167
Localização: Sydney - Australia
Offline
|
Guilherme_82 wrote:Como então seria o sucesso de ferramentas de geração automática de códigos sem um detalhamento nos diagramas de sequencia?
Lembrando que ferramentas para esse propósito é a grande aposta de engenheiros de software, MDA, EA...
não estou defendendo essa opinião. concordo, com o meu pouco conhecimento, que o papel do implementador é fundamental.
O que vcs acham?
Que sucesso? Aposta de quais enenheiros de software?
rodrigoy wrote:Nem tanto o céu, nem tanto a terra... Talvez a MDA seja específica demais, rigorosa demais e a OMG a tenha levado como sempre como se fosse a bala de prata e a última bolacha do pacote. Porém, transformação de modelos e geração de código são ferramentas que podem ser usadas baseadas na idéia da MDA.
Na verdade MDA que se baseia (e tenta padronizar) nessas idéias.
rodrigoy wrote:
As vezes eu uso geração de código do modelo UML para poupar tempo após uma leve modelagem inicial. Não significa que sempre tem que ser assim.
Ótimo para gerar código não não-testado e não confiável. Fora que a maioria das ferramentas não consegue gerar muito mais que classes semi-vazias.
Eu gosto de abordagens tipo a do Together, com visualização utilizada como ferramenta durante o desenvolvimento.
|
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) 26/07/2008 11:48:56
|
le-silva
JavaGuru
![[Avatar]](/images/avatar/c6e19e830859f2cb9f7c8f8cacb8d2a6.png)
Membro desde: 31/01/2003 10:21:32
Mensagens: 255
Offline
|
pcalcado wrote:
Eu gosto de abordagens tipo a do Together, com visualização utilizada como ferramenta durante o desenvolvimento.
Taí... Tive experiência de trabalhar 6 meses num projeto onde nossa ferramenta para, digamos assim, "modelagem", era o Together, e esse lance de fazer um diagrama de domínio, por exemplo, e ver o código resultante dele ali na hora, em outra janela, e poder refinar este código e vê-lo também refletido no diagrama, era bem legal e útil.
Dava pra ir conversando com o analista de negócio (que não entendia nada de código Java, mas compreendia bem diagramas de UML), escrevendo código e modelando junto com ele. O resultado era bom. E, melhor, eu não tinha que programar duas vezes.
Isso, sim, me parece mais nem tanto o céu nem tanto a terra.
|
Leandro Silva
{ :blog => 'leandrosilva.com.br' , :twitter => '@codezone' } |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/08/2008 19:56:00
|
Gustavo Serafim
Thread.start()
![[Avatar]](/images/avatar/975ae6d3ce8ae6e0711821a97a9f5fae.jpg)
Membro desde: 04/09/2006 15:33:40
Mensagens: 49
Offline
|
Para contribuir com o tema, segue citação: "No tempo que levaria criando o código para um design, você pode comparar três designs usando imagens" - Kent Beck, em Extreme Programming Explained
Uso a UML para modelar, o modelo pode ser quadro branco... o importante é o ato de modelar, e talvez, deveria ser descartável.
Claro que em um quadro branco, usamos todo tipo de símbolo gráfico inventado no momento para complementar a idéia, ou seja, sem formalismo.
Outro uso interessante da UML seria ensinar praticas e métodos, uma vez entendido os mecanismos, podem ser trocados por um processo mais mental ou direto no código...
No entanto, concordo que código também é um modelo.
This message was edited 4 times. Last update was at 08/08/2008 00:21:54
|
Gustavo S. Sinis
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2008 04:14:57
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5167
Localização: Sydney - Australia
Offline
|
Gustavo Serafim wrote:
No entanto, concordo que código também é um modelo.
Código não é um modelo, código (na maioria das tecnologias mainstream) é o modelo. UML é, como já dito aqui e como o Beck escreveu na sua citação, uma boa ferramenta de comunicação. Ela serve para explicar o modelo, não é o modelo.
|
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 |
|
|
 |
|
|