Joe*_*Joe 1 eclipse serialization model eclipse-emf emf
我正在掌握 EMF,我想检查一下我头脑中的概念是否准确。
据我了解,可以在 Eclipse 中创建 EMF 模型,然后使用它来生成 Java 代码。
我进一步了解模型可以序列化到磁盘然后再返回,但我不明白它的用途。
当然模型文件本身可以保存吗?序列化有明显的用例吗?
我认为,您在这里混淆了这两个术语:“元模型”和“模型”。
EMF 模型实际上是一个元模型:它是对可以保存数据的模型的描述。EMF 模型/元模型可以用许多不同的格式表示。对于 EMF,我们通常使用.ecore/.genmodel或.xcore文件。
从 EMF 模型/元模型,您可以生成表示模型和模型上的操作的 Java 代码。从理论层面来看,EMF模型和Java代码是平等的,因为它们代表相同的信息。
使用生成的 Java 代码,您可以实例化对象来保存模型数据。然后,这些数据可以以多种不同的格式保存到磁盘上。EMF 可以自动提供将模型数据以 XML 形式序列化到磁盘并返回所需的代码。(实际上,不涉及生成的代码 - 它完全基于类中模型的描述...Factory)。实现其他格式相当容易,例如 JSON 或数据库模式。
一个例子:
假设您已使用 EMF 来描述自行车模型(车轮、车把、车架、车座等)。从 EMF 模型中,您可以生成 Java 类,这些类可以根据对象及其之间的关系来描述相同的自行车。
现在,您可以通过创建/构造和连接 Java 类的对象来实例化模型中的许多不同自行车。
然后可以将这些自行车序列化为 XML 并返回,以便您可以将自行车保存到磁盘。
对于MDA(模型驱动架构),我们实际上讨论了4个级别的模型:
.ecore您在文件和类中找到的信息...Package在 M3 模型中表示,就像它们描述 M2 模型一样。后者真的只对我们这些教授 MDA 的人来说很重要......在你正常的工作中,你真的只需要考虑 M0,M1 和 M2......
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |