Model view controller 是否可以将表示模型模式用于带有EMF域模型的基于GEF的RCP应用程序?

Model view controller 是否可以将表示模型模式用于带有EMF域模型的基于GEF的RCP应用程序?,model-view-controller,mvvm,eclipse-emf,eclipse-gef,presentation-model,Model View Controller,Mvvm,Eclipse Emf,Eclipse Gef,Presentation Model,我正在开发一个EclipseRCP应用程序,使用一个基于EMF的第三方域模型和一个用于编辑的GEF编辑器 如果我不必使用特定的布局在编辑器视图上绘制模型图,这就足够公平了。我使用的域模型不包含任何可视信息(这本身就是一个好主意),但我希望能够在其EditParts中为Figures分配坐标。这将使我更容易计算图形在布局中的位置 现在我偶然发现了马丁·福勒的作品,它似乎正是我所寻找的东西。我还发现了一个-old-ish-(仅限德语),它在eclipse RCP上下文中使用此模式 现在我想知道:既然

我正在开发一个EclipseRCP应用程序,使用一个基于EMF的第三方域模型和一个用于编辑的GEF编辑器

如果我不必使用特定的布局在编辑器视图上绘制模型图,这就足够公平了。我使用的域模型不包含任何可视信息(这本身就是一个好主意),但我希望能够在其
EditPart
s中为
Figure
s分配坐标。这将使我更容易计算图形在布局中的位置

现在我偶然发现了马丁·福勒的作品,它似乎正是我所寻找的东西。我还发现了一个-old-ish-(仅限德语),它在eclipse RCP上下文中使用此模式

现在我想知道:既然GEF显式地使用MVC,那么在GEF上下文中使用PM通常是可能的吗?MVVM是一种替代方案吗

请注意,我被阻止使用转基因食品的原因有很多


非常感谢

是的,这是绝对可能的,你有两个选择

首先,实现您自己的图形符号模型。我建议您使用以下各项:

modelElement : ModelElement 1..1
x            : int          1..1
y            : int          1..1
然后在EditingDomain中加载两个模型(EMF将为您解析跨文档引用),创建所有缺少的图形符号元素e.t.c

另一种选择是使用转基因食品或石墨。他们有你正在寻找的开箱即用的模型,这将大大简化你的生活。以学习另一个怪物框架为代价(以转基因食品为例)。石墨很容易(相对于GEF/GMF),但IMO的灵活性较差。顺便说一句,GMF将为您提供一个“免费”TransactionalEditingDomain,它将为您处理所有命令、撤消和重做。所以,正如在给你们的评论中,我建议你们使用转基因食品

哦,对不起,我没注意到你写的转基因食品


然后,第二个选项是让图形模型从域模型继承,然后根据该模型编写GEF编辑器

是的,这是绝对可能的,你有两个选择

首先,实现您自己的图形符号模型。我建议您使用以下各项:

modelElement : ModelElement 1..1
x            : int          1..1
y            : int          1..1
然后在EditingDomain中加载两个模型(EMF将为您解析跨文档引用),创建所有缺少的图形符号元素e.t.c

另一种选择是使用转基因食品或石墨。他们有你正在寻找的开箱即用的模型,这将大大简化你的生活。以学习另一个怪物框架为代价(以转基因食品为例)。石墨很容易(相对于GEF/GMF),但IMO的灵活性较差。顺便说一句,GMF将为您提供一个“免费”TransactionalEditingDomain,它将为您处理所有命令、撤消和重做。所以,正如在给你们的评论中,我建议你们使用转基因食品

哦,对不起,我没注意到你写的转基因食品

然后,第二个选项是让图形模型从域模型继承,然后根据该模型编写GEF编辑器