[英]Separate interfaces and implementation emf ecore
想象一下以下情况:我们有捆绑A
与接口IntA
在EMF模型和包中定义B
带班classB
。 当我们从包A
的 emf 模型生成代码时,我们将获得分别包含接口声明和实现的IntA
和IntAImpl
文件。
现在假设我们希望IntAImpl
中的某些方法实现可以与类classB
。 我们需要将捆绑B
添加到捆绑A
必需捆绑中。 我们还希望classB
可以与来自 bundle A
接口IntA
一起操作。 这使我们将捆绑A
添加到捆绑B
所需的捆绑中。 我们刚刚有了循环依赖。
如果在不同的包中声明了接口和实现——比如A.int
和A.impl
, A.int
A.impl
。 这样, B
和A.impl
将依赖于A.int
而A.impl
将依赖于B
- 没有循环。
现在问题来了 - 是否可以让 emf 在不同的包中生成接口和实现? 如果不是那么它应该如何处理这种问题?
2008 年的一篇旧帖子回答了这个问题:
https://www.eclipse.org/forums/index.php?t=msg&th=134600/
简而言之:这是不可能的。
在任何情况下,您都声明“IntAImpl可以与 classB 一起使用”。 那么,这是您认为不会发生的理论情况还是您确定这种情况会发生?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.