UML 类图是否支持表达概念?
另外,还有其他表达概念的图表吗?
以防万一,我指的是 C++ 和泛型编程中的“概念”。
3 回答
基本上可以通过对“基类”问题的回答来回答这个问题:“UML 是否会尝试使其与 C++ 1 对 1 匹配?”
答案是简单的“不”。
这是一个非常常见的误解,人们可能会寻找在 UML 或任何其他 C++ 特定事物中表达指针的可能性。你会很不幸地找不到它。
历史上的误解来自一些 UML 建模工具附带的 C++ 代码生成引擎的可用性。所有这些代码生成引擎都有自己的编码模式来解决从模型到代码的转换。仅仅是因为过渡模式本身没有标准。
UML 来自 OMG,OMG 有(Corba)IDL-to-C++ 的生成模式文档,但没有 UML-to-C++ 的生成模式文档。
在阅读了维基百科对 C++“概念”的解释后,在我看来,它与C# 中的泛型类和类型约束具有相同目标的工具
如果我理解正确,那么通过遵循旧的 Stack Overflow 问题Representing a C# Generic Method in a UML Class Diagram事实证明,您应该检查http://www.uml-diagrams.org/template.html,正如 @ 已经建议的那样阿列克斯
基本上我的意思是像你通常做的那样为你的接口和类建模。只需使用模板注释,您还可以使用虚拟依赖关系绘制一些类型限制,模板中使用的形式参数之间的继承关联
您可以在 UML 中显示概念使用的所有结构 - 即函数、算法、类等。但不是概念本身,因为它是创建语法的元素。
此外,您不能在 UML 宏、预处理器命令等中显示。
所有这些东西根本不属于模型,而是属于语言/语法/句法。还有其他工具可以为他们提供支持。形式语法、理论等。是的,有图表。在谷歌中寻找“形式语法图”,你会看到很多。