当一个类具有指向另一个类的方法参数指针(或引用,或对象)时,在 UML 中它反映为关联或聚合,带有菱形,还是有一些特定的符号?
4 回答
您需要的不是关联(也不是特定关联的聚合或组合),因为关联指的是 ClassA 的属性,属于 ClassB 类型。
在这里,对于方法参数,您可以在类之间使用依赖箭头(虚线箭头)。这是一个非常普遍的关系,应该符合您的目的。
参见例如这里的解释:http ://martinfowler.com/bliki/DependencyAndAssociation.html
正如其他人所解释的那样,您应该使用依赖关系而不是任何形式的关联(聚合和组合)。
依赖意味着源元素的规范或实现需要目标元素。
但是,有许多不同类型的依赖关系。依赖的类型可以通过关键字和原型来指定。在您的情况下,您应该使用dependency
with 关键字<<use>>
:
为了解释<<use>>
,我引用了UML 2 and The Unified Process一书第 196 页的部分内容:
这种依赖(使用)是由以下任何一种情况产生的:
1- A 类的操作需要 B 类的参数
2- A 类的操作返回 B 类的值
3- A 类的操作在其实现的某处使用 B 类的对象,但不作为属性。
PS:依赖项可以具有的其他关键字/原型是调用、创建、派生、实例化、允许、实现、细化和跟踪。
“使用依赖项没有指定客户如何使用供应商,除了供应商被客户的定义或实现使用这一事实。例如,它可能意味着(客户)类中的某些方法使用另一个(供应商)类的对象(例如参数)。”
ref:在此处输入链接描述