【问题标题】:Adding behavior to EMF models向 EMF 模型添加行为
【发布时间】:2011-06-06 08:30:04
【问题描述】:

我想知道人们一般如何处理向 EMF 模型添加行为。我有一个模型表示某种类型的物理文件(IDE 的项目文件,但细节并不有趣),并且模型包含一些计算属性(例如将此文件传递给外部工具的结果)。我可以看到两种解决方法:子类化编辑生成的模型类。

我对解决这个特定问题(我可以通过多种方式来解决)不太感兴趣,就像学习其他 EMF 用户一般如何解决这个问题一样。

【问题讨论】:

    标签: eclipse eclipse-emf eclipse-emf-ecore


    【解决方案1】:

    我遇到了同样的问题,我与一些模特和 Ed Merks 进行了交谈。

    一般的方法是静态创建所有可能的类型并在不修改的情况下使用它们。动态模型(即在运行时发生变化的 EMF 模型)不是很常见,因此对于实现它们的最佳方式知之甚少。

    您将面临的一些问题:加载和保存运行时模型类。再次加载模型时,最好确保模型类至少具有相同的属性。

    这通常意味着您必须将 EMF 元模型与模型本身一起保存。

    关于子类化与编辑:将 EMF 视为一种类似反射的 API。它实际上只是一个描述 Java 类、创建实例、更改这些实例以及持久性的 API。

    因此,如果您需要决定哪种方式更好,请问问自己在没有 EMF 的情况下如何解决它(即使用反射时在纯 Java 中)。

    【讨论】:

    • 好的,谢谢。你有什么关于这方面的东西的指针吗?
    • 如我所说:模型模型是静态生成的;信息的主要来源是 EMF javadoc 和 EMF book(我不喜欢这本书,因为它没有解释任何事情;它只是列出了特性)。
    【解决方案2】:

    我的ClassMaker 允许这样做。这是example

    它至少为 Aaron 的回答中提到的检查奠定了基础。

    UPD:今天我已经implemented 进行了检查,没有发现任何困难。我做错了什么?

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 2014-03-13
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2021-09-26
      • 2013-03-30
      • 1970-01-01
      • 2014-07-21
      相关资源
      最近更新 更多