问题
How do I show that the WebServer instantiates a View and gets back control of the flow? Maybe I'm not using the right type of diagram? Thanks a bunch!
回答1:
The diagram from Ruben's answer is correct, but general UML answer is missing. It creates the other lifeline when the "create" line (dashed in this case) connects to the box/label/top of the created life line. From example: WebServer in it's action creates a View and the action done by the view creates the Widget.
-----
| a |
-----
|
[]---->-----
[] | b |
| -----
| |
There are also several diagrams here.
The UML 2.2 specifications (superstructure) has an example on page 474, Figure 14.11 is their canonical syntax/notation reference. And on page 495 in the notation section it states "Object creation Message has a dashed line with an open arrow." This is further defined in the UML as the message type is an enumeration called MessageSort. One value is:
"• asynchSignal - The message was generated by an asynchronous send action.createMessage - The message designating the creation of another lifeline object."
回答2:
Correct, use a "create" message to show instantiation of the object represented by the target lifeline. Here's an example from a topic in the VS 2010 Ultimate docs:
UML Sequence Diagrams: Reference at http://msdn.microsoft.com/en-us/library/dd409377%28VS.100%29.aspx
回答3:
Yes you can, using a create
message. Sometime it depends on the tool you are using. Anyway you just need an arrow that show the text create
pointing to the object being created.
来源:https://stackoverflow.com/questions/2127875/how-do-you-show-instantiation-in-a-uml-sequence-diagram