【问题标题】:GEF: How to separate Domain Information from Presentation Information with pre-defined third-party model?GEF:如何使用预定义的第三方模型将域信息与表示信息分离?
【发布时间】:2012-03-16 21:28:54
【问题描述】:

我正在开发 GEF View(稍后将演变为 GEF Editor),并且我在 GEF Book 的帮助下这样做。

在本书的第 8.1 章(“GEF 模型”)中,构建了一个模型,它混合了领域信息呈现信息(其中被慷慨承认):GenealogyElement 是其余模型对象(但只有一个)的 abstract 超类。

GenealogyElement 负责位置及其子类(PersonMarriage)的位置变化等,它们本身包含实际的域信息。顺便说一句,源代码可以在books website找到。

我不介意自己这样做(即使这可能是“糟糕的风格”),但我使用的是 我无法更改的第三方模型,即我无法更改类 ThirdPartyNode 扩展,例如,ExampleElement

当然,一种选择是针对第三方模型编写我自己的模型,创建一个abstractExampleElement,并让一个新类ExampleNode 扩展ExampleElementThirdPartyNode。我可能最终会这样做,但我真的想首先包含不同的可能性,因为创建另一个模型需要大量输入,并且可能是多余的(不是吗?)。

我有哪些选择来区分这两种信息类型?

提前致谢!

【问题讨论】:

    标签: model-view-controller view model eclipse-rcp eclipse-gef


    【解决方案1】:

    我解决了一个类似的问题,创建了一个包含演示数据(即元素的位置)和对实际数据模型的引用的不同模型。 您只需仔细考虑数据模型如何将其更改通知给编辑器。

    【讨论】:

    • 谢谢!你能给我一个创建这样一个模型的起点吗?一些基本代码或类/方法示例?会很好。您的回答证实了我解决此问题的基本想法,但是 - 尤其是“参考实际数据模型” - 无法弄清楚如何开始。
    • 你可以看看ecore模型编辑器:你可以在ecore工具库中找到它wiki.eclipse.org/index.php/Ecore_Tools
    猜你喜欢
    • 2016-09-23
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多