UML sequence diagram - how to represent method arguments that instantiate objects
Asked Answered
C

1

7

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.

Carolyncarolyne answered 15/11, 2018 at 8:58 Comment(0)
F
6

Basically you just show how and in which order the objects are instantiated and not where they are assigned:

enter image description here

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.

Frauenfeld answered 15/11, 2018 at 9:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.