一种实现数据模型的方法及图形化设计器的制作方法

文档序号:6429339阅读:188来源:国知局
专利名称:一种实现数据模型的方法及图形化设计器的制作方法
技术领域
本发明涉及可视化编程技术,尤其涉及一种实现数据模型的方法及图形化设计
O
背景技术
随着计算机软件工程技术的迅速发展,可视化编程技术已经成为当今软件开发的重要工具和手段。可视化编程技术中的编辑框架为图形化设计器,图形化设计器用于为用户提供编程的编辑区域和分组框,用户在分组框里选择需要的工具,以拖动或单击的方式将工具放置在编辑区域进行编辑。通常,图形化设计器采用的是模型-视图-控制器(MVC,Model-View-ControlIer) 结构,主要包括以下逻辑模块数据模型模块、控制模块和显示交互模块。其中,在用户对工具进行操作的时候,显示交互模块将操作转换成为编辑指令发给控制模块,控制模块接收显示交互模块的编辑指令,再将编辑指令转换成为对数据模型的操作指令发送给数据模型模块,数据模型模块接收控制模块关于数据模型的操作指令,按照操作指令对数据模型做编辑;数据模型模块将编辑后的数据模型发给控制模块,控制模块利用其图形函数将数据模型转换为工具的图形交给显示交互模块,显示交互模块将控制模块发来的工具的图形展示给用户。另外,图形化设计器还包括持久化模块,当用户对工具完成操作后,根据需要对编辑后的数据模型进行保存,则显示交互模块会将保存的操作转化为保存指令发给控制模块,控制模块向数据模型模块发送保存该数据模型的指令,数据模型模块收到指令后,将编辑好的数据模型保存到持久化模块。目前,图形化设计器中的工具时常不能满足用户的所有需求,用户需要在实际使用中添加工具,但是图形化设计器中的工具所对应的数据模型是由硬编码的方式编写的, 并不能按照用户的需求灵活的添加。如果要满足用户的需求只能重新开发图形化设计器, 将用户所需要的工具所对应的数据模型以硬编码的方式写入图形化设计器的数据模型模块中。另外,目前按照由编辑指令转换的操作指令对数据模型所做的编辑只是基于数据模型的附加属性进行的,如果需要新增或删除附加属性外的属性,同样只能将相应数据模型以硬编码的方式写入图形化设计器的数据模型模块中。这样就会带来开发周期长、风险大、 且浪费人力和物力的问题。可见,目前已有的图形化设计器无法满足用户及时方便的添加和/或修改工具的需求。

发明内容
有鉴于此,本发明的目的在于提供一种实现数据模型的方法及图形化设计器,以满足用户及时方便的添加和/或修改工具的需求。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种实现数据模型的方法,该方法包括图形化设计器将配置文件转换成为文档树,再利用文档树建立并保存数据模型。
上述方案中,所述配置文件包含分组框名称,分组框中包含的各个工具,每个工具的名称、图标、工具的标识,以及每个工具的属性信息和对应的相关事件。上述方案中,所述将配置文件转换成文档树,包括按照文档树的格式,图形化设计器将配置文件中的每个工具转换为文档树中的一个节点,将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干。上述方案中,所述建立数据模型,包括图形化设计器从文档树中逐个提取节点, 利用节点编写数据模型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性。本发明还提供了一种图形化设计器,该图形化设计器包括加载解析模块、数据模型生成模块和数据模型模块;其中,加载解析模快,用于将配置文件转换成为文档树,再将文档树发至数据模型生成模块;数据模型生成模块,用于接收加载解析模块的文档树,利用文档树建立数据模型, 再将数据模型发给数据模型模块;数据模型模块,用于接收并保存数据模型生成模块发来的数据模型。上述方案中,所述加载解析模块,具体用于按照文档树的格式,将配置文件中的每个工具转换为文档树中的一个节点,将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干。上述方案中,所述数据模型生成模块,具体用于从文档树中逐个提取节点,利用节点编写数据模型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性。上述方案中,该图形化设计器进一步包括控制模块和显示交互模块;其中,所述控制模块,用于利用其图形函数将数据模型转换为工具的图形,再把工具的图形交给显示交互模块;所述显示交互模块,用于接收控制模块转换的工具的图形,然后显示给用户。上述方案中,该图形化设计器进一步包括持久化模块;所述持久化模块,用于保存数据模型模块发来的数据模型;相应的,所述数据模型模块,还用于将数据模型发送给持久化模块。上述方案中,所述配置文件包含分组框名称,分组框中包含的各个工具,每个工具的名称、图标、工具的标识,以及每个工具的属性信息和对应的相关事件。本发明所提供的实现数据模型的方法及图形化设计器,具有以下的优点和特点 将所要添加和/或修改的工具编写成配置文件,再利用配置文件建立数据模型,如此,就能够根据用户的需求,及时方便的添加和/或修改数据模型,避免了对图形化设计器的重新开发而带来的人力和物力的浪费,并且使图形化设计器能够灵活地适应各种需求。


图1为本发明实现数据模型的方法的流程示意图;图2为本发明配置文件的示例图;图3为本发明实现数据模型的图形化设计器的结构示意图。
具体实施例方式本发明的基本思想是图形化设计器将配置文件转换成为文档树,再利用文档树建立并保存数据模型;所述配置文件为根据所需的分组框和工具编写的定义文件,具体可以为根据用户所要添加和/或修改的分组框和工具编写的定义文件。下面结合附图及具体实施例对本发明再作进一步详细的说明。本发明一种实现数据模型的方法如图1所示,包括以下步骤步骤101 用户需要添加工具,用户根据需要编写并保存有关数据模型的配置文件;这里,所述编写指使用任何可以编写文本文件的工具按照可扩展标记语言(XML, Extensible Markup Language)格式编写配置文件,比如可以在写字板中编写配置文件;其中,配置文件的格式示例如图2所示,图中〈group〉......〈/group〉之间的内容
为分组框的定义,比如本示例中的分组框的名称为“actions”,〈entry〉......〈/entry〉之
间的内容为一个工具的定义,包含每个工具的名称、图标、工具的标识、每个工具的属性信息和对应的相关事件等,比如示例中第一个工具的名称为“JavaAction”,工具的用途为“创 M^yMf W JavaAction i ^ "(Create a newjava Action Node), X^^ "com. zte.
esb. JavaAction,,,工具的图标为图片"action, png,,,<properties>......</properties>
之间的内容为工具属性的描述,示例中给出的工具属性的描述为该属性名称为“S0AP Client Action”,其中含有名称为Isdl”的输入框(input),和名称为“BindingName”的输
入框(input);需要添加多个工具时,则以多个〈entry〉......〈/entry〉分别对工具进行定
义;所述保存指将配置文件保存在专用的文件夹中,配置文件的保存类型必须为 “.xml”;所述专用的文件夹指安装图形化设计器时,自动生成的专门保存配置文件的子文件夹,比如D:\图形化设计器\......\配置文件。步骤102 图形化设计器启动时读取配置文件,将配置文件转换成文档树;这里,所述文档树指图形化设计器指定的文档树结构,文档树包含两个关键的抽象一个为主干、另一个是用来表示文件内容和结构的节点;其中,所述图形化编辑器,可以通过加载任何能够读取XML格式的文件的解析器将配置文件转换成文档树,比如加载常用的微软的MSXML解析器;所述转换指图形化设计器将配置文件中的每个工具转换为文档树中的一个节点,将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干, 比如,图形化设计器会将如图2所示的配置文件名称为“actions”的分组框转化为文档树的主干,然后将名称“Java Action”的工具以及工具的标识、图标和属性等内容转换为文档树的头一个节点,再将下一个名称为“SoapClient”的工具以及工具的标识、图标和属性等内容转换为文档树的下一个节点,“Java Action”是配置文件中的第一个工具,则在文档树中位于第一个节点,相应的,“Soap Client”为配置文件中列出的第二个工具,则在文档树中位于第二个节点。步骤103 图形化设计器利用文档树建立数据模型;这里,所述建立指图形化设计器从文档树中逐个提取节点,利用节点编写数据模
5型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性;其中,所述数据模型有内部属性、外部属性和附加属性,其中内部属性指数据模型的名称和用途等;外部属性指数据模型所属分组框的名称和在分组框中的位置等;附加属性为用户使用图形化设计器可以进行编辑的属性,可以由图形化设计器直接设置。步骤104 图形化设计器把数据模型绘制成工具的图形显示给用户;这里,所述绘制指图形化设计器利用其图形函数,将数据模型转化成工具的图形。可见,通过上述步骤,即可以使用户根据自己的需求及时方便的在图形化设计器中添加数据模型,使得任何新的数据模型都可以按照上述过程建立起来,进而将数据模型绘制成工具显示出来的工作。另外,如果用户需要对已有的数据模型对应的工具进行修改,只需对步骤101中的配置文件相应的位置进行修改,然后执行步骤102至步骤104,就可以完成对数据模型的修改,并将修改过的数据模型绘制为工具显示给用户。在实际的应用中,步骤104完成之后,用户还会通过图形化设计器利用工具进行操作,操作的过程包括图形化设计器将用户对工具的操作转化为编辑指令,利用编辑指令对数据模型进行操作,再将数据模型操作完成后的状态转化为图形展示给用户;用户根据需要对编辑好的工具进行保存,则图形化设计器将对工具的保存的操作转化为对编辑好的数据模型的保存指令,最终保存编辑好的数据模型。为实现上述方法,还需要对已有的图形化设计器进行一些修改,如图3所示,本发明提供了一种图形化设计器,包括加载解析模块31、数据模型生成模块32和数据模型模块33 ;其中,加载解析模快31,用于将配置文件转换成为文档树,再将文档树发至数据模型生成模块32 ;数据模型生成模块32,用于接收加载解析模块31的文档树,利用文档树建立数据模型,再将数据模型发给数据模型模块33 ;数据模型模块33,用于接收并保存数据模型生成模块32发来的数据模型。所述加载解析模块31,还用于保存编写好的配置文件;这里,所述配置文件为根据用户所要添加的分组框和工具的编写的定义文件,包含分组框名称,分组框中包含的各个工具,每个工具的名称、图标、工具的标识等,每个工具的属性信息和对应的相关事件;所述编写指使用任何可以编写文本文件的工具按照XML 格式编写配置文件,比如在写字板中编写配置文件;所述保存指将配置文件保存在专用的文件夹中,配置文件的保存类型必须为“.xml”;其中,所述专用的文件夹指安装图形化设计
器时,自动生成的专门保存配置文件的子文件夹,比如D:\图形化设计器\......\配置文件。所述加载解析模块31,具体用于按照文档树的格式,将配置文件中的每个工具转换为文档树中的一个节点,将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干;这里,所述加载解析模块31可以通过加载任何能够读取XML格式的文件的解析器将配置文件转换成文档树,比如加载常用的微软的MSXML解析器。所述数据模型生成模块32,具体用于从文档树中逐个提取节点,利用节点编写数据模型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性;其中,所述数据模型的内部属性指数据模型的名称和用途等,所述数据模型的外部属性指数据模型所属分组框的名称和在分组框中的位置等。上述图形化设计器进一步包括控制模块34和显示交互模块35,其中,控制模块34,用于利用其图形函数将数据模型转换为工具的图形,再把工具的图形交给显示交互模块35 ;相应的,所述显示交互模块35,用于接收控制模块34转换的工具的图形,然后显示给用户。所述控制模块34,还用于实时监测数据模型模块33的关于任意一个数据模型发生变化的通知,一旦收到该通知就从数据模型模块33获取数据模型;相应的,所述数据模型模块33,还用于实时监测模块内部数据模型的变化,一旦任一数据模型发生变化,则向控制模块34发送关于任意一个数据模型发生变化的通知,然后将产生变化的数据模型提供给控制模块34。所述显示交互模块35,还用于将用户对工具的图形的操作转化为编辑指令发送给控制模块34 ;相应的,所述控制模块34,还用于接收来自显示交互模块35的编辑指令,将编辑指令转换为对数据模型的操作指令,将操作指令发送给数据模型模块33 ;所述数据模型模块33,还用于接收控制模块34的操作指令,根据操作指令对数据模型进行操作;其中,所述根据操作指令对数据模型进行操作,具体所做的操作根据实际情况而不同,比如,用户对工具的图形进行颜色编辑,则这个编辑由显示交互模块35转换为对该工具图形的颜色编辑指令发送给控制模块34,相应的,控制模块34收到了该工具图形的颜色编辑指令后,将这个编辑指令转换为对其数据模型的颜色编辑的操作指令,将该操作指令发送给数据模型模块33,所述数据模型模块33接收到了控制模块34的对数据模型进行颜色编辑的操作指令,根据操作指令对数据模型进行颜色编辑的相关调整。所述控制模块34,还用于检测用户是否开启图形化设计器,当检测到开图形化设计器时,向加载解析模块31发送转换指令;相应的,所述加载解析模块31,具体用于接收控制模块34发送的转换指令,然后将配置文件转换成文档树。上述图形化设计器进一步包括持久化模块36,用于保存数据模型模块33发送的数据模型;相应的,所述数据模型模块33,还用于将数据模型发送给持久化模块36。所述显示交互模块35,具体用于将用户对工具的图形的保存操作转化为保存指令发送给控制模块34 ;相应的,所述控制模块34,具体用于接收显示交互模块35的保存指令, 将保存指令转换为对指定数据模型的保存指令,将该保存指令发送给数据模型模块33 ;所述数据模型模块33,具体用于根据控制模块34发来的保存指令,将指令中指定的数据模型发送给持久化模块36。所述显示交互模块35,具体用于在用户对已保存的工具进行编辑时,将对该已保存的工具的编辑转化为编辑指令发送给控制模块34 ;相应的,控制模块34接收到显示交互模块35发送的对已保存的工具的编辑指令后,将该编辑指令发给持久化模块36 ;持久化模块36,还用于接收控制模块34的编辑指令,对本模块中的数据模型进行指令中指定的操作,然后将编辑后的数据模型交给控制模块34。可见,应用上述的方案就可以通过在已有的图形化设计器中增加加载解析模块和数据模型生成模块这两个逻辑模块,再将数据模型模块修改为可以接收数据模型生成模块的数据模型的接口模块,即可添加和/或修改数据模型,不需要对图形化设计器进行重新开发,从而节省了人力和物力。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种实现数据模型的方法,其特征在于,该方法包括图形化设计器将配置文件转换成为文档树,再利用文档树建立并保存数据模型。
2.根据权利要求1所述的方法,其特征在于,所述配置文件包含分组框名称,分组框中包含的各个工具,每个工具的名称、图标、工具的标识,以及每个工具的属性信息和对应的相关事件。
3.根据权利要求1或2所述的方法,其特征在于,所述将配置文件转换成文档树,包括 按照文档树的格式,图形化设计器将配置文件中的每个工具转换为文档树中的一个节点, 将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干。
4.根据权利要求3所述的方法,其特征在于,所述建立数据模型,包括图形化设计器从文档树中逐个提取节点,利用节点编写数据模型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性。
5.一种图形化设计器,其特征在于,该图形化设计器包括加载解析模块、数据模型生成模块和数据模型模块;其中,加载解析模快,用于将配置文件转换成为文档树,再将文档树发至数据模型生成模块;数据模型生成模块,用于接收加载解析模块的文档树,利用文档树建立数据模型,再将数据模型发给数据模型模块;数据模型模块,用于接收并保存数据模型生成模块发来的数据模型。
6.根据权利要求5所述的图形化设计器,其特征在于,所述加载解析模块,具体用于按照文档树的格式,将配置文件中的每个工具转换为文档树中的一个节点,将配置文件中的分组框的名称以及各个节点在分组框中的位置转换为文档树的主干。
7.根据权利要求5所述的图形化设计器,其特征在于,所述数据模型生成模块,具体用于从文档树中逐个提取节点,利用节点编写数据模型的内部属性,再利用文档树中的主干编写各个数据模型的外部属性。
8.根据权利要求5、6或7所述的图形化设计器,其特征在于,该图形化设计器进一步包括控制模块和显示交互模块;其中,所述控制模块,用于利用其图形函数将数据模型转换为工具的图形,再把工具的图形交给显示交互模块;所述显示交互模块,用于接收控制模块转换的工具的图形,然后显示给用户。
9.根据权利要求5、6或7所述的图形化设计器,其特征在于,该图形化设计器进一步包括持久化模块;所述持久化模块,用于保存数据模型模块发来的数据模型;相应的,所述数据模型模块,还用于将数据模型发送给持久化模块。
10.根据权利要求5、6或7所述的图形化设计器,其特征在于,所述配置文件包含分组框名称,分组框中包含的各个工具,每个工具的名称、图标、工具的标识,以及每个工具的属性信息和对应的相关事件。
全文摘要
本发明公开了一种实现数据模型的方法,包括图形化设计器将配置文件转换成为文档树,再利用文档树建立并保存数据模型。本发明还同时公开了一种图形化设计器,采用本发明能满足用户及时方便的添加和/或修改工具的需求。
文档编号G06F9/44GK102411498SQ201110210859
公开日2012年4月11日 申请日期2011年7月26日 优先权日2011年7月26日
发明者夏松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1