问题
I'm not sure how to represent something like the following in a sequence diagram (in Ruby):
class FirstClass
def process
thing = SecondClass.new('string argument', third_class, 2)
end
def third_class
ThirdClass.new('another string argument',)
end
end
The first message in the sequence is a call to an instance of FirstClass, and the part that's tripping me up is how to represent the ThirdClass.new being passed as an argument to the SecondClass initializer.
回答1:
Basically you just show how and in which order the objects are instantiated and not where they are assigned:
So first the ThirdClass
is created and then SecondClass
where you pass a ThirdClass
parameter.
I don't know the exact Ruby syntax. So the new
is a place holder. Other languages require the class name, Python uses __init__
, etc. But the dashed arrow line shows that's it's an object creation.
来源:https://stackoverflow.com/questions/53315673/uml-sequence-diagram-how-to-represent-method-arguments-that-instantiate-object