c++ - 方法参数的 UML 图

标签 c++ uml aggregation class-diagram

假设我有以下代码:

class A {
public:
    void doSomething(B* b);
}

class B {
}

我如何在 UML 图中描述它?我的第一个想法是A使用B,所以从A到B应该有一条虚线。但是在一些学校论文中(这是学校作业报告中非常小的一部分)他们似乎使用聚合符号(空菱形和实线)。

这对我来说似乎不对 - 如果 A 实际上包含一个指向 B 作为成员的指针,那似乎是对的。但是当只有一些方法使用了一个指向B的指针,并且没有将其存储在任何成员变量中时,这似乎是错误的。

这里有什么?

(我可以问我的老师,但他们通常需要很长时间才能回答这类问题……老实说,我更相信 Stackoverflow 的集体智囊团:))

最佳答案

你应该在 A 和 B 之间使用一个简单的依赖关系:

enter image description here

A 只是在操作中使用 B 作为参数。如果你有一些类型 B 的属性,那么你将使用关联。聚合仅提供一点额外的语义,您可以(/应该)将其省略,除非您知道要传输某些特定信息。

关于c++ - 方法参数的 UML 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35795568/

相关文章:

sql - Postgres : return first N rows per group for groups having a minimum countI

r - 如何在 R 中使用聚合函数

postgresql - PostgreSQL 中的时间聚合

c# - C# 中等效的 Char 指针

c++ - Visio & UML - 在属性和返回值中显示指针

c++ - 如何使用 fstream 指针对文件进行操作?

java - 如何在 UML 序列图中表示监听器

uml - 是否有工具可以构建实时记录的序列图?

c++ - 静态或动态链接 CRT、MFC、ATL 等

c++ - 将线性代数库与 Boost::Units 相结合