【发布时间】:2011-02-24 15:08:19
【问题描述】:
我想知道 UML 是否有助于描述大量模板化的代码。我知道 UML 中有参数化类的概念 (vector<T> <---- <<bind>> ---- vector<int>),但这不足以描述我们可以使用模板拥有的复杂 duck-typed 关系。我总是可以在这些类之间建立关联,但在我看来它实际上并不能帮助理解它是如何工作的。
此外,考虑到例如 STL 库,算法通常被实现为函数,因此不太适合 OOP 模型,尽管它们的行为仍然很像引入类之间关联的对象。
那么,绘制 UML 图来描述这样的模板代码有意义吗?如果是这样,哪种图表最有用 - 在“标准”OOP 中,我看到大部分时间都在使用类图,但对于模板化代码,其他类型的图表可能会更有帮助?如果 UML 不太适合,我还能用什么?
【问题讨论】:
-
+1 从那以后,我想起了用 Telelogic Rhapsody 建模模板的折磨。
-
“否”,因为更一般的问题“UML 有用吗?”的答案是“不”。
-
@James McNellis:那么有什么用处?您将如何对系统进行高级概述?深入研究所有这些类的源代码/cmets 以了解它们之间的关系似乎不是一个好选择。
-
良好的文档和描述系统架构的几个框图。
-
@James:据我所知,UML 只是对框图进行标准化,以避免每个人都发明自己的视觉语言。那么你到底在说什么样的框图呢?