快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

金沙国际娱城app_博格自动化网进入



GEF犹如其他的一些framew金沙国际娱城appork一样,是一个繁杂宏大年夜(有点夸诞)的,当我们想应用驾驭它时,就必须周全的理解其整体构架及其运作历程。这必要我们的毅力和敏锐。旅途开始了&he金沙国际娱城appllip;.

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

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

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

对付MVC中

View部分:GEF天经地义要应用自家的东东Draw2D。使用Draw2D的Figuer作为自己的View。

Model部金沙国际娱城app分:每每内部包孕了千差万别、弗成预知的商业信息。是以、GEF框架应该只管即便削减约束(鄙人面将具体阐明约束)。

Controller部分:EditPart/Draw2D的Figure/Model这三个树状工具模型,在EditPart中将建立了与其对应的Draw2D的Figure/Mode金沙国际娱城appl结点 建立逐一关联的关系。

这样孕育发生的构架如下:

思虑:

为什么Controller要同View一样采纳树状布局呢?

当Controll金沙国际娱城apper以树状的形式存在,这样便于功能分化(这个事理有点像 在类设计中 复合优于承袭 一样平常)

这样每一结点的Controller(即EditPart) 仅必要处置惩罚

自身逻辑功能

治理子Controller

需要时看护父Controller

尤其当用户必要在图形界面编辑界面中,必要应用多种不合UI行径规则的2D元素(例如不合的外形块,不合行径的连线等)组合来完成事情时(例如类似Visio这样的界面),这种构架的上风就显露无疑。

未完待续….(下面要探究若何孕育发生上述三个树状模型等。)

您可能还会对下面的文章感兴趣: