0

我有一个后端系统,我通过基于 REST 的 API 访问它并返回一个资源。这是一个 EMF 资源(一种 XMI 表示)。问题是我不能在设计时假设这个资源的元模型——因为后端系统中的元模型可能会在没有通知的情况下发生变化。

我想知道我是否可以首先从后端读取元模型(.ecore 文件),生成代码,然后读取模型。诚然,这会更慢,但我每次会话只需阅读一次元模型,这不会让我承诺使用固定的元模型。这行得通吗?还是有更好的方法来实现我想要的?

另外,这对 UI 有用吗?我可以在运行时(EMF.Edit)生成编辑器代码,就在从后端读取模型并使用适当的可视化显示模型之前?

动态 EMF会帮助解决我的问题吗?

4

1 回答 1

2

使用 EMF 从动态模型生成代码听起来很麻烦。尤其是当你转身运行它时。但我想如果您在新的 Eclipse 实例中运行它,它会起作用。

动态 EMF 是一种可能的替代方案。然而,使用动态方法的应用程序更难编写并且往往需要更多的调试。(通过使用动态 EMF,您会牺牲很多静态类型安全性。)而且我不确定模型编辑器的问题。

实际上,我有点困惑如何将生成的 Java 类用于内存模型实例。如果元模型正在发生变化,那么生成的类的签名也会发生变化。你如何编写代码来处理不断变化的 API?如果您说“我生成它”,请考虑您的生成器必须使用动态 EMF。

如果我是你,我会在 EMF 邮件列表中询问。根据我的经验,如果您提出明智的问题(即不太模糊和/或投机性的问题),您将得到合理的答案。

于 2009-08-05T10:15:31.640 回答