在ECore实体之间创建引用时,可以将引用标记为“包含”。
有人可以用简单的语言解释我吗?简单引用和遏制之间有什么区别?到目前为止,我发现的定义和解释并不能解决我的问题。
最佳答案
引用:引用是简单的“A知道B”关系。单独的引用文献不会相互影响。 A可以知道B,而B可以知道C。因此,如果您拥有A,则可以通过B转到C。如果删除引用,A,B和C仍然存在,它们彼此之间不再相互了解。
遏制:遏制是“A有B”的一种关系。通常用于列表,例如“A有多个B”。然后,ECore / EMF可以在此类集合上执行原子命令,例如将所有对象从一个容器移动到另一个容器。它还可以强制执行约束,例如最小数量的包含对象或最大数量的包含对象,或确保所包含的对象不包含在任何其他包含中。
示例:
假设您有一个名为ShoppingCart
的对象,该对象具有一个名为Customer
的引用和一个名为OrderedProducts
的容器。 OrderedProducts
引用了Product
。
这个模型告诉你什么?
关于eclipse - 包含与引用之间的ECore有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793527/