UML Class 图:与 collection 元素的关系
UML Class Diagrams: Relations with elements of a collection
假设:
- Class A 有一个 collection 的 Class B (aggregation/composition)
- ClassC访问ClassA的接口获取ClassB
的具体实例
- Class C manipulates/uses 它获取的Class B实例的接口
毫无疑问,Class C 与 Class A 有关系。但是仍然存在一个问题:是否应将关系从 class C 映射到 class B,为什么?
是的,您应该具有从 C 到 B 的通常关联(箭头)。因为具有关联意味着 C 具有从 C 到 B 的导航。
由于C可以操作B实例,所以从C到B的导航也是存在的,返回箭头也是必须的。
由于关联是双向的,因此不应同时显示两个箭头。当代的 UML 标准不使用双向箭头的绘制。
如果 C 也有 B 类型的字段(不是局部变量!),则 C-B 行的点应该在 B 端。后向也一样。查找示例 here
假设:
- Class A 有一个 collection 的 Class B (aggregation/composition)
- ClassC访问ClassA的接口获取ClassB 的具体实例
- Class C manipulates/uses 它获取的Class B实例的接口
毫无疑问,Class C 与 Class A 有关系。但是仍然存在一个问题:是否应将关系从 class C 映射到 class B,为什么?
是的,您应该具有从 C 到 B 的通常关联(箭头)。因为具有关联意味着 C 具有从 C 到 B 的导航。
由于C可以操作B实例,所以从C到B的导航也是存在的,返回箭头也是必须的。
由于关联是双向的,因此不应同时显示两个箭头。当代的 UML 标准不使用双向箭头的绘制。
如果 C 也有 B 类型的字段(不是局部变量!),则 C-B 行的点应该在 B 端。后向也一样。查找示例 here