在 uml 中表示 C# 自动实现的属性
Representing C# auto-implemented properties in uml
我正在创建一个 uml 图来帮助我更好地理解一些由第三方编写的源代码。在创建我的图表时,我是否应该包括一个私有字段和一个 public 属性,在这种情况下使用自动实现的属性:
-名称:字符串
+名称:字符串
或者我应该只使用图中的 public 属性:
+姓名:字符串
在 UML 中,class 实体之间的关系比它们的属性(例如变量、属性和方法)更重要。这就是为什么您应该省略私有变量以使图表简洁的原因。如果 public 属性 X
of class A
被 class B
使用,请使其简洁:表明 B
使用 A
:画一个从 B
到 A
的箭头而不显示 属性.
class A
{
public int X { get; set; }
}
class B
{
public int Twice(A a)
{
return a.X * 2;
}
}
...uml diagram to...better understand some source code...third-party...should I include both a private field and a public...
关注对您来说重要的级别。
就我个人而言,我会继续使用自动代码逆向工程(EA, doxygen UML_LOOK、...)
创建的 UML
类 结果
有关适当的一些讨论,另请参阅Stack Overflow: How to represent a C# property in UML?
我正在创建一个 uml 图来帮助我更好地理解一些由第三方编写的源代码。在创建我的图表时,我是否应该包括一个私有字段和一个 public 属性,在这种情况下使用自动实现的属性:
-名称:字符串
+名称:字符串
或者我应该只使用图中的 public 属性:
+姓名:字符串
在 UML 中,class 实体之间的关系比它们的属性(例如变量、属性和方法)更重要。这就是为什么您应该省略私有变量以使图表简洁的原因。如果 public 属性 X
of class A
被 class B
使用,请使其简洁:表明 B
使用 A
:画一个从 B
到 A
的箭头而不显示 属性.
class A
{
public int X { get; set; }
}
class B
{
public int Twice(A a)
{
return a.X * 2;
}
}
...uml diagram to...better understand some source code...third-party...should I include both a private field and a public...
关注对您来说重要的级别。
就我个人而言,我会继续使用自动代码逆向工程(EA, doxygen UML_LOOK、...)
创建的UML
类 结果
有关适当的一些讨论,另请参阅Stack Overflow: How to represent a C# property in UML?