鹿晗演过的电视剧电影:GEF源码分析(二) 模拟GEF设计思路,解剖GEF 1

来源:百度文库 编辑:九乡新闻网 时间:2024/10/04 03:11:13
GEF学习笔记(二) 模拟GEF设计思路,解剖GEF 1

 

GEF如同其他的一些framework一样,是一个复杂庞大(有点夸张)的,当我们想使用驾驭它时,就必须全面的理解其整体构架及其运作过程。这需要我们的毅力和敏锐。旅途开始了….


 

GEF主要的任务是针对2D图形编辑操作,如下图。

 

 

 

为了使GEF能够广泛的用于种类繁多2D图形编辑领域,GEF就必须建立一个严格的易扩充/易组合/易重用的MVC框架(当然这种分解细化功能对象的方法思想,我们可以用在其它的地方,其它领域、其他语言如C#上)。

 

 

 

那么如果设计 这个 严格的MVC框架(对于Model是严格的独立,它不依赖与View和Controller) 以及 此框架 如何 达到 易扩充/易组合/易重用 的特性。下面我按照自己拙劣的思路,以麻雀之眼度鸿雁之志啦

 

对于MVC中

View部分:GEF理所当然要使用自家的东东Draw2D。利用Draw2D的Figuer作为自己的View。

Model部分:往往内部包含了千差万别、不可预知的商业信息。因此、GEF框架应该尽量减少约束(在下面将详细说明约束)。

Controller部分:EditPart/Draw2D的Figure/Model这三个树状对象模型,在EditPart中将建立了与其对应的Draw2D的Figure/Model结点 建立一一关联的关系。

 

这样产生的构架如下:

 

 

 

 

 

 

思考:

为什么Controller要同View一样采用树状结构呢?

当Controller以树状的形式存在,这样便于功能分解(这个道理有点像 在类设计中 复合优于继承 一般)

这样每一结点的Controller(即EditPart) 仅需要处理

  • 自身逻辑功能
  • 管理子Controller
  • 必要时通知父Controller

尤其当用户需要在图形界面编辑界面中,需要使用多种不同UI行为规则的2D元素(例如不同的形状块,不同行为的连线等)组合来完成工作时(例如类似Visio这样的界面),这种构架的优势就显露无疑。

 

未完待续….(下面要探讨如何产生上述三个树状模型等。)

GEF源码分析(二) 模拟GEF设计思路,解剖GEF 1 GEF源码分析(三) 模拟GEF设计思路,解剖GEF2 附图:包含GEF的Editor创建时序图 GEF源码分析(三) GEF 的树状构架 ___ Model/EditPart/Figure GEF源码分析(四) GEF 消息转义 ___ Tool的作用 GEF源码分析(六) GEF 的EditPart的职能分离 __ 跨国时尚媒体集团广告部门 的故事 二 GEF源码分析(一) eclipse的GEF相关项目说明 - 般若菩提(丁丁) - 博客园 GEF源码分析(五) GEF 的EditPart的职能分离 __ 跨国时尚媒体集团广告部门 的故事 公务员考试面试:经典试题及其答题思路分析(二) 1 尘埃(解剖分析中国历史中的帝王策略、宗教信仰,民众心理)二 尘埃(解剖分析中国的帝王策略、宗教信仰,民众心理)二 短线股票池设计思路及案例分析 ( 初中思想品德课程标准的设计思路和特点分析 初中思想品德课程标准的设计思路和特点分析 * 电动车故障分析思路-1 公务员考试面试:经典试题及其答题思路分析(二)02 - 中华培训网 公务员考试面试:经典试题及其答题思路分析(二). 公务员考试面试:经典试题及其答题思路分析(二) 古代诗歌鉴赏题型设计及答题思路二 面试经验(模拟ic设计) Heritrix源码分析(二) 配置文件order.xml介绍 2011年中考模拟题(二)1 解剖王亚伟最新投资思路 Linux连接跟踪源码分析 1 (二)一堂解剖课