假设我有以下代码:
class A {
public:
void doSomething(B* b);
}
class B {
}
我如何在 UML 图中描述它?我的第一个想法是A使用B,所以从A到B应该有一条虚线。但是在一些学校论文中(这是学校作业报告中非常小的一部分)他们似乎使用聚合符号(空菱形和实线)。
这对我来说似乎不对 - 如果 A 实际上包含一个指向 B 作为成员的指针,那似乎是对的。但是当只有一些方法使用了一个指向B的指针,并且没有将其存储在任何成员变量中时,这似乎是错误的。
这里有什么?
(我可以问我的老师,但他们通常需要很长时间才能回答这类问题……老实说,我更相信 Stackoverflow 的集体智囊团:))
最佳答案
你应该在 A 和 B 之间使用一个简单的依赖关系:
A 只是在操作中使用 B 作为参数。如果你有一些类型 B 的属性,那么你将使用关联。聚合仅提供一点额外的语义,您可以(/应该)将其省略,除非您知道要传输某些特定信息。
关于c++ - 方法参数的 UML 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35795568/