c# - 在 UML 类图中表示 C# 访问器属性?

标签 c# properties uml accessor

如何在 UML 类图中表示 C# 属性(setter 和 getter 访问器)?

你只是将其编写为常规的 setter 和 getter 方法吗?

或者还有其他的表示方式吗?

我对如何在 UML 类图中的类和接口(interface)中表示访问器感兴趣。

最佳答案

一些开发人员/分析师:

(1) 将属性显示为非常概念化的事物,并且每个属性仅显示一行。

(2)其他的,更具体,显示3行,属性,“getter”函数,“setter”函数。

(3) 有时,对于访问器,仅显示 2。

(4) 一些 U.M.L.绘图应用程序。允许您选择要显示的先前内容。

还有...

...据我调查,所有选项都是正确的。请记住,刻板印象(“<>”)可以帮助记录该类。

(注意:我用点替换空格)

(1) 只有普通属性(C#,非常概念化):

+================================================================+
|..........................MyClass...............................|
+----------------------------------------------------------------+
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............|
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............|
+================================================================+
|..[+]..|..string..|..Text........|..<<property>>................|
+================================================================+

(2) 仅“访问器”,(C++、Java、样式):

+================================================================+
|..........................MyClass...............................|
+----------------------------------------------------------------+
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............|
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............|
+================================================================+
|..[#]..|..string..|..FText.......|..<<field>>...................|
+================================================================+
|..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...|
+----------------------------------------------------------------+
|..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..|
+================================================================+

(2) Everything(非常程序员,Object Pascal/Delphi 风格):

+================================================================+
|..........................MyClass...............................|
+----------------------------------------------------------------+
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............|
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............|
+================================================================+
|..[#]..|..string..|..FText.......|..<<field>>...................|
+================================================================+
|..[+]..|..string..|..Text........|..<<property>>................|
+----------------------------------------------------------------+
|..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...|
+----------------------------------------------------------------+
|..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..|
+================================================================+

您正在向分析师交付成果吗? 您的 C++/Java 程序员是否知道,如果图表仅显示属性,他们必须对访问器进行编码,或者您的公司要求在图表中明确声明它们?

选择更适合您需求的一个。 (删除点)。

关于c# - 在 UML 类图中表示 C# 访问器属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5432591/

相关文章:

c# - 下面的语句解释了什么

uml - 调度程序是否应该是用例图中的参与者

c# - 如何使用泛型在基类的方法中指定输出参数的类型?

c# - 为什么 C# 不支持首次通过异常过滤?

c# - VB.NET Select...C# 中等效的 Case 语句

ios - 无法通过 iVar/property 访问 UIButton

ios - 应用程序在 iPad 上崩溃,但在 iPad 模拟器中不会崩溃

dependencies - 用例图 - 这是正确的吗?

database - Visio数据库关系图中的I1、I2、U1、是什么意思?

c# - 为什么我的 "Divide by Zero"预防不起作用?