【发布时间】:2012-03-16 21:28:54
【问题描述】:
我正在开发 GEF View(稍后将演变为 GEF Editor),并且我在 GEF Book 的帮助下这样做。
在本书的第 8.1 章(“GEF 模型”)中,构建了一个模型,它混合了领域信息和呈现信息(其中被慷慨承认):GenealogyElement 是其余模型对象(但只有一个)的 abstract 超类。
GenealogyElement 负责位置及其子类(Person、Marriage)的位置变化等,它们本身包含实际的域信息。顺便说一句,源代码可以在books website找到。
我不介意自己这样做(即使这可能是“糟糕的风格”),但我使用的是 我无法更改的第三方模型,即我无法更改类 ThirdPartyNode 扩展,例如,ExampleElement。
当然,一种选择是针对第三方模型编写我自己的模型,创建一个abstract 类ExampleElement,并让一个新类ExampleNode 扩展ExampleElement 和ThirdPartyNode。我可能最终会这样做,但我真的想首先包含不同的可能性,因为创建另一个模型需要大量输入,并且可能是多余的(不是吗?)。
我有哪些选择来区分这两种信息类型?
提前致谢!
【问题讨论】:
标签: model-view-controller view model eclipse-rcp eclipse-gef