该篇介绍的是GEF的MVC架构实现的原理。GEF开发至始至终都是围绕MVC来进行,比如最简单的拖拽移动事件,都要从MVC的三个方面都要进行修改。所以了解MVC的实现原理对进行GEF开发至关重要。
下图为GEF框架实现MVC的方法。
1. 首先用户编辑的相关操作,在GEF中会被相关Tool或者Tracker翻译成request(这个稍后的文章会介绍),GEF中的任何用户相关的操作都会被翻译成request。
2. 用户的操作被翻译成request后,会向对应的控制器(EditPart)来请求command(用户的操作是通过command来实现的),控制器会遍历已经安装到自己上的编辑策略寻找能处理该请求的编辑策略。
3. 控制器中寻找到相应的编辑策略后,会由该编辑策略创建command。
4. 执行相应的command修改模型信息,在模型中修改模型信息时会触发控制器来重画视图。