`

Flex开发流程设计器的经验之谈(4) (转)

 
阅读更多

在(3)中,简要介绍了整个Flex版设计器的整体架构,那么今天就进入比较细粒度的Flex GEF的内核看看。

 

既然名称中有“GEF”,那么肯定会与Eclipse GEF的设计会有所类似,事实上,本身就是借鉴GEF的设计思想和对象概念模型,只是做了改造和简化。

 

如下图所示。

 

其最基本的核心在于“IModel、IEditPart、IFigure”,这构成了MVC的核心对象模型。

 

IModel的变更会通知IEditPart这个控制器,由控制器刷新IFigure。—— 不过此处并没有采用EMF那种对象结构:EMF在底层对Model的所有属性变更都做了监听,任何变更都会引发Notifor操作,从而利用监听器来处理notification。在我最初的设计中,原本也想这么操作的,不过后来摒弃这个思路。如果在底层再引入一个类似EMF的框架,会再引入大量的基类,无形中增大了最终flash文件的大小。所以,此处虽然也支持Notifor操作,但是都是“外围显示主动通知Notifor”的方式,而且抛弃了Notification这一层。—— 这样的结果就是,我在command中,并不是非常彻底的只操作Model,或多或少都会会显示引发对EditPart的处理操作。(这是一个很“拖泥带水”的实现方式,但是处理方式要简化很多,而且节省了很多底层代码,缩减了flash文件)。

 

当然,每一个Editor都会维持一个属于其自己的EditDomain,用于记录在当前操作空间的一些对象,比如“commands”、“那些对象被选中”、“Figure或Model与EditPart的快速索引”等等。

另外,每个Editor都会由一个Viewer来,定义当前显示方式。同时,利用EditPartFactory、ModelFactory、FigureFactory来创建相应对象。上层业务层真正需要实现不同的Factory(已经包括相应的model、editpart、figure),这样就可以很容易快速实现不同“视图展现模式”。—— 外围大量的扩展代码都是在这个地方。

 

当然,这里面有一个“Figure”概念。早在(1)中,就已经简单提过,Figure并不是Flex中的概念,只是用用于“声明这是一个GEF中的图形”而已。(注:这个Figure的处理很有技巧性,处于商业产品的限制,我无法更多的在这里做详细解释,大家只能自己揣摩了

 

当然,真正的Flex GEF内核实现要比上面图形中的展现复杂不少。但基本逻辑关系的核心已经表示差不多了。

 

这部分内容也只能“点到即止”,毕竟本身属于商业产品范畴。

分享到:
评论

相关推荐

    flex4 流程设计器

    不错的流程设计器,实现了连线,拖动,修改属性等,,,

    Flex流程设计器

    Flex流程设计器是一款基于Adobe Flex技术开发的业务流程设计工具,其源码的提供为开发者提供了深入理解并定制流程设计功能的机会。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程...

    flex wf流程设计器(Workflow)

    Flex WF流程设计器是一款基于Adobe Flex技术开发的可视化工作流设计工具。它允许用户通过图形化界面来设计和构建复杂的业务流程,最终生成的XML文件能够与各种后台系统进行集成,符合JBPM(Java Business Process ...

    基于Flex的Web流程设计器开发

    基于 Flex 的 Web 流程设计器开发 本文将详细介绍基于 Flex 的 Web 流程设计器的开发,包括其背景、技术路线选择、架构设计、前端设计和后台设计等方面的内容。 Web 流程设计器的背景 ------------------ 在开发 ...

    流程设计器(flex版)

    《流程设计器(flex版)详解》 流程设计器(flex版)是一种基于Adobe Flex技术的图形化工具,主要用于设计和构建业务流程。Flex是Adobe公司推出的一种开放源代码的富互联网应用(RIA)开发框架,它允许开发者创建具有...

    Flex 开发流程 了解Flex开发的流程

    Flex开发流程详解 Flex是一种由Adobe推出的用于构建富互联网应用(Rich Internet Applications,简称RIA)的框架,它包含了Flex SDK、编译器、框架、调试工具以及开发环境Flex Builder等核心组成部分。Flex 3 SDK...

    flex 流程设计器

    flex 流程设计器,flex 流程设计器

    flex流程设计器源码

    Flex流程设计器源码是一款基于Adobe Flex技术开发的用于创建和编辑工作流的图形化工具。Flex是一种开源的、基于ActionScript 3.0的框架,主要用于构建富互联网应用程序(RIA)。这款设计器允许用户通过拖放操作,...

    flex web工作流程图

    综上所述,"flex web工作流程图"涉及到的技术点包括Flex框架、MXML和ActionScript编程、图形组件设计、数据绑定、事件处理、自定义组件开发、状态管理、布局和动画效果,以及后端服务集成。通过这些技术,开发者可以...

    flex 工作流设计器

    Flex工作流设计器是一种基于Adobe Flex技术的工具,用于创建、编辑和管理业务流程。它提供了图形化的用户界面,使得非技术人员也能理解并构建复杂的业务逻辑。在本文中,我们将深入探讨Flex工作流设计器的主要功能、...

    FlexForm表单设计器

    FlexForm表单设计器是一款基于Adobe Flex技术开发的高级表单设计工具,专为构建用户界面提供强大支持。Flex是一种开放源代码的框架,主要用于构建富互联网应用程序(RIA),它使用MXML和ActionScript编程语言,结合...

    flex 实现 的流程设计器

    在本场景中,我们关注的是用Flex实现的流程设计器,这是一种允许用户在网页上构建和编辑工作流图的工具。 流程设计器的核心是图形化用户界面(GUI),它允许用户通过拖放操作来创建、连接和配置工作流节点。在Flex...

    flex工作流程编辑器

    Flex工作流程编辑器是一款专为开发人员设计的强大工具,它简化了基于Flex的工作流配置过程。Flex是一种由Adobe开发的开放源代码框架,主要用于构建富互联网应用程序(RIA),尤其是在使用ActionScript和MXML编程时。...

    精典flex图形化流程设计器源码

    Flex图形化流程设计器源码是一套用于创建和编辑工作流的高级开发工具,它基于Adobe Flex技术,提供了直观的可视化界面,使得用户可以方便地构建、定制和管理各种业务流程。这一源码对于开发者来说是极其宝贵的资源,...

    flex 3.0流程编辑器修改版源码

    总结来说,Flex 3.0流程编辑器修改版源码涉及到图形用户界面设计、事件处理、图形绘制等多个技术领域,对于深入理解Flex框架以及提高RIA开发能力具有重要价值。通过学习和实践,开发者不仅能掌握流程编辑器的实现...

    flex_4 开发详解

    Flex提供了一个现代、基于标准的编程模型,支持公共模板设计、客户端运行环境、编程模型、开发模型以及高级数据服务。RIAs旨在提供更丰富、响应更快和更具互动性的用户体验,相比传统HTML应用,它们利用更强大的...

    pentaho平台 flex 仪表盘设计器 插件

    6. **Flex 仪表盘设计器用户使用手册.pdf**:这份用户手册提供了关于如何使用Flex 仪表盘设计器的详细指南,包括界面介绍、操作流程、自定义选项等,帮助用户充分利用这个工具。 7. **replace.zip**:这个文件可能...

    flex 画流程图 流程编辑

    流程编辑器允许用户直观地设计和修改流程,这对于提高工作效率和理解复杂逻辑非常有帮助。 标题所提及的“flex 画流程图 流程编辑”主要涉及以下几个知识点: 1. **Flex图形组件**:Flex中包含了一系列用于绘制...

    流程设计,extjs、flex、web下的流程设计

    总的来说,这些文件和标签涉及到的技术和工具都集中在Web环境下的流程设计和管理上,无论是EXTJS的组件化开发,Flex的富客户端展示,还是各种流程设计器的使用,都是为了实现更高效、更直观的业务流程自动化。...

    Flex4开发实践PPT

    三、Flex4开发流程 1. 环境搭建:包括安装Adobe Flex Builder或使用Eclipse插件,配置Flash Player或Adobe AIR运行环境。 2. 项目创建:选择Flex 4模板,设置项目属性,如编译目标、主题等。 3. UI设计:使用MXML...

Global site tag (gtag.js) - Google Analytics