【问题标题】:Representing C# auto-implemented properties in uml在 uml 中表示 C# 自动实现的属性
【发布时间】:2015-05-23 08:14:47
【问题描述】:

我正在创建一个 uml 图,以帮助我更好地理解一些由第三方编写的源代码。在创建我的图表时,我是否应该同时包含一个私有字段和一个公共属性,在这种情况下使用自动实现的属性:

-名称:字符串
+名称:字符串

或者我应该只使用图中的公共属性:

+名称:字符串

【问题讨论】:

  • 两个答案都很好。投票赞成并勾选另一个正确。我的 5 美分
  • 你是对的。我看到了电子邮件,但直到现在才能查看回复。

标签: c# uml


【解决方案1】:

在 UML 中,类之间的关系比它们的属性(例如变量、属性和方法)更重要。这就是为什么你应该省略私有变量以使图表简洁。如果A 类的公共属性XB 类使用,则简明扼要:表明B 使用A:在不显示属性的情况下从BA 画一个箭头。

class A
{
    public int X { get; set; }
}

class B
{
    public int Twice(A a) 
    {
        return a.X * 2;
    }
}

【讨论】:

    【解决方案2】:

    ...uml 图以...更好地理解一些源代码...第三方...我应该同时包含私有字段和公共字段...

    专注于对你很重要的水平。

    我个人会继续使用自动代码逆向工程创建的UML 类的结果(EAdoxygen UML_LOOK,...)

    关于什么是合适的一些讨论,另见Stack Overflow: How to represent a C# property in UML?

    【讨论】:

    • 感谢您指出该工具。我实际上并没有意识到这一点。它可能会帮助我节省一些时间。
    • @Jslick 我不确定C#UML 工具市场今天的样子。我对Enterprise Architect 用户感到满意,并且我已经成功地使用doxygen+graphvizC#JavaC++ 代码生成文档和一些UML 图表。但是Visual Studio(终极版?)中也有一些UML 建模支持,NDepend 工具也可以在(巨大的)第 3 方代码库中提供有价值的观点。查找或推荐工具不是 Stack Overflow 上的主题,因此您必须在其他地方搜索好的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 2015-04-10
    • 2021-06-04
    相关资源
    最近更新 更多