关联与类关系的深入解析
1. 关联中的角色
在复杂的模型里,一个类可能会参与多个关联。比如,“Person”类与“Book”类存在两种不同的关联。一种关联表明“Person”是书籍的作者,通过“Wrote”关联体现;另一种关联表示“Person”是书籍的读者,由“Read”关联表示。在这些关联中,角色就显得尤为重要。
角色是半关联中为对立类提供的特定名称。例如,在“Book.IsWrittenBy”半关联中,“Person”类可被称为“Author”;而被人所写的书则被称为“Work”。不过,并非所有半关联都需要角色,只有当角色名称能轻松得出且能为模型增添信息时,才应使用角色。
使用角色时,需遵循以下规则:
- 角色名称首字母大写,且单词间无空格。
- 角色名称需为可数名词的单数形式,如同类名一样。
- 角色应写在其所指类的旁边。
角色可以融入半关联的读取机制。例如,对于“Wrote”半关联,可表述为“每个人员写了零到多本书,这些书是他们的作品”,或者“每个人员写了零到多个作品,这些作品是书”。同时,要注意在给定类中,角色不能重复。
2. 属性与关联的区别
部分建模语言未对属性和关联进行区分。像UML中,类的属性在很多方面被视为该类到相应数据类型的关联;CIDOC CRM中,类只有“属性”,这些属性可能是与其他类或数据类型(如E26 String或E60 Number)的连接。
然而,将属性和关联混为一谈虽看似能简化建模语言,但存在严重弊端。从概念上讲,类代表与模型相关的类别,在特定的论述领域有意义;而数据类型独立于所建模的领域,具有通用性。因此,应针对不同事物采用不
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



