0

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

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

GenealogyElement负责其子类(Person, Marriage)等的位置和位置变化,这些子类本身包括实际的域信息。顺便说一句,源代码可以在书籍网站上找到。

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

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

分离这两种信息类型的选择是什么?

提前致谢!

4

1 回答 1

1

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

于 2012-05-04T10:37:28.637 回答