如何实现 uml 的强包含关系。也叫作曲。
举一个 Scale 的例子:我有一个类组件,它可能包含零个或多个接口:
class Component (name: String, description: String, Interaction: Set[Interface])
然后我有我的类接口:
class Interface(name: String, description: String)
遏制应该尊重哪些约束?
- 如果我在一个组件中输入一个接口,这个接口不能放在其他组件中。
- 如果我删除一个 Component 也必须删除它的所有接口。
还有其他约束要强制执行吗?
如何实现第一个约束:
我想我会在类接口中添加一个名为 signComp 的 Component 类型的字段,并对 Component 的 set 方法 Interaction 施加约束。
例如:对于必须添加到组件的每个接口,如果接口的 signComp 为 null,则插入接口并将 signComp 设置为当前组件,否则取消分配。
这是一个成功的实施?或者有没有其他方法。