如何在 UML 序列图中表示 c# setter?

How to represent c# setter in UML sequence diagram?

我想在 属性 Scores 中设置值。我如何在 UML 序列图中绘制它?请问下图是否正确?

代码 (C#):

来自文件:Test.cs

public class Test<T>
{
    public IEnumerable<T> Scores { get; set; }
}

来自文件:TestScore.cs

public class TestScore
{
    List<int> numList = new List<int>() { 1, 2, 3, 4, 5 };
    Test<int> test = new Test<int>();
    test.Scores = numList;
}

UML 时序图:

1。图表是否正确?

不,这张图不正确。 classTestScore中的以下初始化:

test.Scores = numList;

将是 :TestScore 发送到 testset(numList) 消息,因为 :TestScore 调用 test 的 setter。

因为实际上调用的是 test.Scores 的 setter,如果 class Test 将进化为暴露其他 setters.

2。该图是个好主意吗?

这张图好像很详细。也许太详细了。序列图不是为了图形化编程,而是为了记录 classes.

之间的(复杂?)交互场景

目的是促进理解涉及对象交互的实现或设计。 每当代码比图表更容易理解时,您应该问问自己是否没有过度设计问题,并考虑将来代码更新图表所需的工作量进化。值不值得你自己判断。