一种ui复用方法及装置的制作方法

文档序号:6444922阅读:157来源:国知局
专利名称:一种ui复用方法及装置的制作方法
技术领域
本发明涉及WEB应用程序开发领域,尤其是涉及一种n复用方法及装置。
背景技术
UI (用户界面)开发是基于B/S架构的WEB应用程序的开发中的重要环节,通常会消耗整个开发程序70%以上的工作量。如何有效的缩减n开发的工作量,是提高B/S架构的WEB应用程序的开发效率的重中之重。本领域的人员可以知道,在n的开发过程中,很多n的内容是重复的,为此,在n 的开发过程中经常使用Ui复用的方法来缩减n的开发工作量。开发团队在长期项目的开发过程中会积累一批设计良好、有一定通用性的n页面作为通用Ui。n复用的具体过程是确定通用ui。在开发新的n时,分析用户需求,确定具体的通用ui。通常是确定于用户需求的UI页面最类似的通用UI。通过采用从通用UI中拷贝并粘贴的方法建立新的UI,并根据需要对其进行修改, 直到符合用户需求。这种方式,是目前提高B/S架构n开发效率最直接、最有效的方法。但现有的方式中,B/S架构下的n使用的是结构化并不良好的HTML语言描述页面。由于HTML的结构化不好,不具有封装性,在复用时很难区分出修改和不需要修改的内容。通过整段代码拷贝粘贴后进行修改,会影响到本不需要修改的地方,使得局部修改变成一个整体修改的过程。整体修改意味着整体测试,因此这样的方式加大了工作量,降低了 n 的开发效率。另外,由于HTML的混乱结构,使得用户在其代码中查找某个特定的控件十分困难,极易出错,降低了 n复用的准确度。发明内容
本发明提供一种n复用方法及装置,能够缩减n复用的工作量,提高n开发的效率。
本发明提供了一种UI复用方法,所述方法包括
获取通用UI父页面;
以面向对象的方式描述UI父页面,获得UI父对象;
继承所述UI父对象,生成UI子对象;
转换所述UI子对象为UI子页面。
优选的,所述继承所述UI父对象,生成UI子对象包括
复制所述UI父对象的所有控件ID至所述UI子对象。
优选的,所述继承所述n父对象,生成n子对象还包括以下任意一项或几项
保存所述n父对象需要修改的所述控件id对应的控件属性和/或事件响应脚本CN 102541564 A
至所述n子对象;
保存所述n父对象需要修改的页面脚本至所述n子对象;
保存所述n父对象需要增加的引用资源至所述n子对象;
保存所述UI父对象需要增加的控件ID、所述控件ID对应控件的控件属性和事件响应脚本至所述UI子对象;
在所述n子对象中删除所述n父对象需要删除的控件id。
优选的,所述转换所述n子对象为ui子页面包括
解析所述n父对象和所述n子对象,获得页面脚本列表,页面控件列表和资源引用列表;
提取所述页面控件列表中的事件脚本;合并所述事件脚本和所述页面脚本列表生成脚本文件;
提取所述页面控件列表中的页面控件;合并所述页面控件和所述资源引用列表为页面文件;
转换所述脚本文件和所述页面文件为n子页面。
优选的,所述解析所述UI父对象和所述UI子对象,获得页面脚本列表包括
判断所述UI子对象是否有UI父对象;
若有,获取所述UI父对象的页面脚本列表;
获取所述n子对象的页面脚本列表;
合并所述n子对象的页面脚本列表至所述n父对象的页面脚本列表;若所述n
子对象的页面脚本列表中的公共变量或公共方法与所述UI父对象的页面脚本列表中的公共变量或公共方法相同,则使用所述n子对象的页面脚本列表中的公共变量或公共方法的值覆盖所述n父对象的所述页面脚本列表中的对应公共变量或公共方法的值。优选的,所述解析所述UI父对象和所述UI子对象,获得页面控件列表为获取所述n子对象的页面控件列表;判断所述UI子对象是否有UI父对象;若有,根据所述n子对象的页面控件列表中的子控件判断所述n父对象中是否有对应的父控件ID ;若有,则将所述父控件具有而所述子控件不具有的属性和事件响应脚本复制到所述子控件。优选的,所述解析所述n父对象和所述n子对象,获得资源引用列表为判断所述UI子对象是否有UI父对象;若有,获取所述n父对象的资源引用列表;获取所述n子对象的资源引用列表;合并所述n子对象的资源引用列表至所述n父对象的资源引用列表;若所述 UI子对象的资源引用列表中的资源引用与所述n父对象的资源引用列表中的资源引用相同,则忽略所述资源引用。本发明还提供了一种装置,所述装置包括获取单元,用于获取通用UI父页面;描述单元,用于以面向对象的方式描述n父页面,获得n父对象;
6
继承单元,用于继承所述n父对象,生成n子对象;转换单元,用于转换所述n子对象为UI子页面。优选的,所述继承单元包括第一继承子单元,用于复制所述n父对象的所有控件ID至所述n子对象。优选的,所述继承单元还包括以下任意一个或几个单元第二继承子单元,用于保存所述n父对象需要修改的所述控件ID对应的控件属性和/或事件响应脚本至所述UI子对象。第三继承子单元,用于保存所述n父对象需要修改的页面脚本至所述n子对象。第四继承子单元,用于保存所述UI父对象需要增加的引用资源至所述UI子对象。第五继承子单元,用于保存所述n父对象需要增加的控件ID、所述控件ID对应控件的控件属性和事件响应脚本至所述n子对象。第六继承子单元,用于在所述n子对象中删除所述n父对象需要删除的控件ID。优选的,所述转换单元包括解析单元,所述解析单元包括第一解析单元、第二解析单元和第三解析单元,分别用于解析所述UI父对象和所述UI子对象,获得页面脚本列表、页面控件列表和资源引用列表;第一提取单元,用于提取所述页面控件列表中的事件脚本,合并所述事件脚本和所述页面脚本列表生成脚本文件;第二提取单元,用于提取所述页面控件列表中的页面控件;合并所述页面控件和所述资源引用列表为页面文件;第一转换子单元,用于转换所述脚本文件和所述页面文件为UI子页面。优选的,所述第一解析单元包括第一判断单元,用于判断所述UI子对象是否有UI父对象;第一获取单元,用于在判断所述n子对象有n父对象时获取所述n父对象的页面脚本列表和所述n子对象的页面脚本列表;第一合并单元,用于合并所述n子对象的页面脚本列表至所述n父对象的页面脚本列表;若所述UI子对象的页面脚本列表中的公共变量或公共方法与所述UI父对象的页面脚本列表中的公共变量或公共方法相同,则使用所述n子对象的页面脚本列表中的公共变量或公共方法的值覆盖所述UI父对象的所述页面脚本列表中的对应公共变量或公共方法的值。优选的,所述第二解析单元包括第二获取单元,用于获取所述n子对象的页面控件列表;第二判断单元,用于判断所述UI子对象是否有UI父对象;第三判断单元,用于在所述UI子对象有UI父对象时,根据所述UI子对象的页面控件列表中的子控件判断所述n父对象中是否有对应的父控件;第二合并单元,用于在判断所述n父对象中有对应的父控件时,将所述父控件具有而所述子控件不具有的属性和事件响应脚本合并到所述子控件。优选的,所述第三解析单元包括第四判断单元,用于判断所述n子对象是否有n父对象;
第三获取单元,用于在所述n子对象有n父对象时,获取所述n父对象的资源引用列表和所述n子对象的资源引用列表;第三合并单元,用于合并所述n子对象的资源引用列表至所述n父对象的资源引用列表;若所述n子对象的资源引用列表中的资源引用与所述n父对象的资源引用列表中的资源引用相同,则忽略所述资源引用。与现有技术相比,本发明有如下有益效果本发明中,通过以面向对象的方式描述n父页面,获得的n父对象具有良好的封装性,能够很容易的确定n父对象要修改的内容。而且本发明利用面向对象中的继承特性,在复用时,只需在n子对象中保存修改的内容,这样的方式使得在进行之后的测试时, 只需对n子对象中的内容进行测试即可。相对现有技术,缩减了大量工作量,很大程度上提高了 n开发的效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获
得其他的附图。
图I是本发明方法实施例I流程图2是本发明实施例2以面向对象方式描述的UI父对象示意图
图3是本发明方法实施例3流程图4是本发明方法实施例4流程图5是本发明方法实施例5流程图6是本发明方法实施例6流程图7是本发明装置实施例7结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。参见图1,本发明实施例I提供了一种UI复用方法,所述方法包括如下步骤S11、获取通用UI父页面。通用n父页面是指为了提高n复用度,开发团队在长期项目开发过程中积累的一批设计良好、具有一定通用性的n父页面。在开发具体项目时,可以通过分析用户n需求,选择复用的通用n父页面。比如,当要开发的页面是一个关于体育彩票的页面时,通常会选用跟体育彩票相关的通用UI页面。S12、以面向对象的方式描述n父页面,获得n父对象。面向对象(Object Oriented, 00)是当前计算机界关心的重点,它是90年代软件开发方法的主流。现在面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD 技术、人工智能等领域。其特点具有良好的封装性,可以将同一类别的内容归类封装起来。 因此,可以使用面向对象的方法描述n页面以解决使用HTML语言描述导致页面结构混乱, 缺乏封装的问题。具体的可以使用结构化良好的XML语言描述UI页面。在本发明的实施例2中,提供了一种使用XML语言描述n页面的具体方式。参见图2,为描述后的n父对象。其中,〈controls/〉用于存放页面控件、属性,事件响应脚本。〈scripts/〉用于存放页面脚本。〈resources/〉用于存放页面引用外部资源的信息。与UI无关的模型元数据信息存放在如下标签中〈baseinfo/〉用于存放UI父对象基本信息,如创建者,创建时间,修改时间等。〈dependences/〉用于存放UI父对象的依赖信息。可以看出,用XML语言描述后的UI父对象同一类的内容被封装在了同一标签内, 结构清楚且易于查找。S13、继承所述UI父对象,生成UI子对象。继承是在编程中使用的概念,在面向对象编程中,如C++和JAVA中都有继承。具体的它是指一个对象直接使用另一对象的属性和方法。它是面向对象的设计方式的特性之一。其中被使用的对象被称为父对象,使用父对象的对象为子对象。继承的意义在于使用“最少代码”实现“最大复用”。因此在继承时只需要将不同于n父对象的内容保存在n子对象中即可。而不需要将n父对象的所有内容拷贝到n 子对象中。在本发明的继承中,首先需要创建一个页面模型,并复制所述n父对象的所有控件ID至所述的页面模型中。该页面模型实际就是之后生成的UI子对象的初始化。接下来就需要根据要生成的UI子对象的具体情况进行修改。当要生成的n子对象中有控件的控件属性或事件响应脚本与n父对象中的对应的控件的控件属性、事件响应脚本不同时,需要将该不同的控件属性、事件响应脚本即该n 父对象需要修改的所述控件对应的控件属性或事件响应脚本保存至所述n子对象。当对应同一控件,其控件属性和事件响应脚本均不同时,就将该不同的控件属性和事件响应脚本保存至ui子对象的对应控件ID中。当要生成的UI子对象的页面脚本与UI父对象的页面脚本不同时,需要保存该不同的页面脚本即该UI父对象需要修改的页面脚本至UI子对象中。当要生成的UI子对象中有UI父对象中没有的资源引用时,需要保存该UI父对象需要增加的引用资源至所述W子对象。当要生成的UI子对象中有UI父对象没有的控件时,需要保存该UI父对象需要增加的控件的id、对应的控件属性和事件响应脚本至n子对象中。而当要生成的UI子对象中不具有UI父对象的某些控件时,需要在UI子对象中删除该UI父对象需要删除的控件ID。因为UI父对象采用面向对象的方式描述,在确定要生成的UI子对象与UI父对象的不同,即确定n父对象需要修改的地方时,能够很容易的从各个标签中进行对比查找。比如判断要生成的n子对象的引用的外部资源是否与n父对象的完全相同时,以图2为例,只需要查看〈resources/〉标签中的内容即可。而不需要对n父对象中的全部代码进行对比查看。本发明应用了面向对象的继承特性,所以在n子对象中只需要保存修改的内容。 在进行之后的测试时,只需要对n子对象中的内容进行测试即可,相对现有技术中,不区分修改部分和未修改部分而全部测试的方式,很大程度上减少了测试的工作量,提高了 UI 开发的效率。从以上过程可以看出,应用面向对象的方式描述后的n父对象进行复用,能够很快的找出需要需该的地方在继承时只需要修改进行修改时生成的n对象
Com] si4、转换所述n子对象为n子页面。复用的目的最终是要生成UI页面,因此需要将生成的UI子对象转换为UI子页面。具体的是指将UI子对象由面向对象的语言描述形式转换为HTML的语言描述形式。 tons] n子对象和父对象中包括控件信息、脚本信息以及资源引用等信息,其中控件信息中还包含事件脚本信息。为方便系统进行转换,可在转换时将脚本信息区分出来。同时根据继承的规则,生成的n子对象中只包含与n父对象不同的信息。因此,在上述语言转换之前,首先需要结合UI父对象获得UI子对象实际包含的全部信息。在本发明的实施例3中,参见图3,为转换n子对象转换为n子页面的具体方法, 包括S31、解析n父对象和UI子对象,获得页面脚本列表,页面控件列表和资源引用列表。该步骤实际是将n子对象引用的n父对象中的内容和n子对象修改的内容结合在一起的过程。得到的为n子对象的实际信息。对象中的信息一般包括页面脚本信息、页面控件信息和资源引用信息。因此,可解析n父对象和n子对象,分别获取页面脚本列表,页面控件列表和资源引用列表。S32、提取页面控件列表中的事件脚本;合并事件脚本和页面脚本列表生成脚本文件。S33、提取页面控件列表中的页面控件;合并页面控件和资源引用列表为页面文件。页面控件列表既包含事件脚本,又包含页面控件信息,为方便后续转换UI子对象为n子页面,可将页面控件中的事件脚本信息和页面控件信息分别提取出来。并将事件脚本信息与页面脚本信息合并生成脚本文件,将页面控件信息与资源引用信息合并生成页面文件。S34、转换脚本文件和页面文件为n子页面。具体的,使用HTML语言分别描述脚本文件和页面文件,将其转换为UI页面。对应本发明的继承方式,本发明实施例4、5、6分别提供了一种获得页面脚本列表、页面控件列表和资源引用列表的方法。其中图4为页面脚本列表的获取方法,具体包括S41、判断所述n子对象是否有n父对象。在继承n父对象生成n子对象时,会在n子对象中保存有n父对象的属性信息,便于n子对象能够引用n父对象中的信息。因此,具体的可以通过查看n子对象中是否有此类属性信息来确认是否有n父对象。进一步的,还可以根据这些属性信息在数据库中查找是否有对应的n父对象。S42、若有,获取所述n父对象的页面脚本列表。具体的,可通过UI子对象中保存的UI父对象的属性信息查找到对应的UI父对象,从而获取UI父对象的页面脚本列表。S43、获取所述n子对象的页面脚本列表。其中保存有UI子对象不同于UI父对象的页面脚本信息。S44、合并所述n子对象的页面脚本列表至所述n父对象的页面脚本列表;若所述UI子对象的页面脚本列表中的公共变量或公共方法与所述UI父对象的页面脚本列表中的公共变量或公共方法相同,则使用所述n子对象的页面脚本列表中的公共变量或公共方法的值覆盖所述UI父对象的所述页面脚本列表中的对应公共变量或公共方法的值。根据本发明的继承方法,只有在n子对象的页面脚本中的公共变量或公共方法的值不同于n父对象中对应的公共变量或公共方法的值时,才会在n子对象中保存该公共变量或公共方法及对应的值。因此,通过获取ui父对象的页面脚本信息并用UI子对象中修改后的值覆盖n父对象中对应公共变量或公共方法的值,就使得生成的页面脚本列表中全部为符合ui子对象的页面脚本信息。参见图5,为本发明页面控件列表的获取方法,具体包括S51、获取n子对象的页面控件列表。根据本发明的继承方法,UI子对象的页面控件列表中应当包含UI父对象的所有控件ID、修改的控件属性及事件响应脚本和添加的控件ID以及与该ID对应的控件属性和事件响应脚本。S52、判断UI子对象是否有UI父对象。同实施例4 一样,可以通过n子对象中保存的UI父对象的属性信息来确认是否有n父对象。S53、若有,根据所述n子对象的页面控件列表中的子控件ID判断所述n父对象中是否有对应的父控件ID。
子控件和父控件是指分别保存在n子对象和n父对象中的同一控件ID对应的控件。因为在n子对象中保存的控件id可能是添加的,也可能是从n父对象中直接复制的,复制过来后修改的,所以需要首先判断该控件是否是从n父对象中复制过来的。S54、若有,则将所述父控件具有而所述子控件不具有的属性和事件响应脚本复制到所述子控件。这样,子控件就从n父对象中获取了引用的控件属性和事件响应脚本。并与添加的控件ID及对应的属性、事件响应脚本和修改的控件信息一起组合为UI子对象控件信息。在本发明的另一实施例中,可以在步骤S52之后采用如下方式生成页面控件列表根据n父对象的父控件ID判断n子对象中是否有对应的子控件ID。若无,则删除对应的父控件。并合并n子对象的页面控件列表至n父对象的页面脚本列表;若UI子对象的子控件ID与UI父对象的页面控件列表中的父控件ID相同,则使用n子对象的页面脚本列表中的子控件ID对应的控件属性及事件响应脚本覆盖n父对象的页面脚本列表中的对应的父控件ID对应的控件属性及事件响应脚本。参见图6,为本发明资源引用列表的获取方法,具体包括361、判断所述瓜子对象是否有n父对象。具体的,可以通过与实施例4、5相同的方式进行判断。S62、若有,获取所述n父对象的资源引用列表。S63、获取所述n子对象的资源引用列表。S64、合并所述n子对象的资源引用列表至所述n父对象的资源引用列表;若所述n子对象的资源引用列表中的资源引用与所述n父对象的资源引用列表中的资源引用相同,则忽略所述资源引用。根据本发明的继承方法,在n子对象中只保存有添加的资源引用。因此,需要将 UI父对象中的资源引用信息与UI子对象中的资源引用信息合并,才能获得UI子对象的全部资源引用信息。需要说明的是,若n子对象中的资源引用于n父对象中的资源引用相同,那么可忽略n子对象中的资源引用信息。本发明还提供了一种装置,参见图7,该装置包括11、获取单元,用于获取通用n父页面。12、描述单元,用于以面向对象的方式描述n父页面,获得n父对象。具体的,该描述单元可以采用XML语言描述该UI父页面。13、继承单元,用于继承所述UI父对象,生成UI子对象。在本发明的实施例中,继承单元11包括第一继承子单元,用于复制所述n父对象的所有控件ID至所述n子对象。根据最后生成的n子对象的具体内容,继承单元还包括以下任意一个或几个单元第二继承子单元,用于保存所述n父对象需要修改的所述控件ID对应的控件属性和/或事件响应脚本至所述UI子对象。第三继承子单元,用于保存所述UI父对象需要修改的页面脚本至所述UI子对象。第四继承子单元,用于保存所述UI父对象需要增加的引用资源至所述UI子对象。第五继承子单元,用于保存所述n父对象需要增加的控件ID、所述控件ID对应控件的控件属性和事件响应脚本至所述n子对象。第六继承子单元,用于在所述n子对象中删除所述n父对象需要删除的控件id。14、转换单元,用于转换所述n子对象为n子页面。n子对象和父对象中包括控件信息、脚本信息以及资源引用等信息,其中控件信息中还包含事件脚本信息。为方便系统进行转换,可在转换时将脚本信息区分出来。同时根据继承的规则,生成的UI子对象中只包含与UI父对象不同的信息。因此,在上述语言转换之前,需要首先将结合n父对象的信息和n子对象中修改的信息获得n子对象实际包含的全部信息。为此,本发明中的转换单元14具体包括解析单元,其中解析单元又包括第一解析单元、第二解析单元和第三解析单元,分别用于解析n父对象和n子对象,以获得页面脚本列表、页面控件列表和资源引用列表。第一提取单元,用于提取页面控件列表中的事件脚本,合并所述事件脚本和页面脚本列表生成脚本文件。第二提取单元,用于提取页面控件列表中的页面控件;合并页面控件和资源引用列表为页面文件。最后通过第一转换子单元,将脚本文件和页面文件转换为UI子页面。对应本发明实施例中的继承方法,第一解析单元包括第一判断单元,用于判断UI子对象是否有UI父对象。第一获取单元,用于在判断n子对象有n父对象时获取n父对象的页面脚本列表和UI子对象的页面脚本列表。第一合并单元,用于合并n子对象的页面脚本列表至n父对象的页面脚本列表; 若UI子对象的页面脚本列表中的公共变量或公共方法与UI父对象的页面脚本列表中的公共变量或公共方法相同,则使用UI子对象的页面脚本列表中的公共变量或公共方法的值覆盖UI父对象的页面脚本列表中的对应公共变量或公共方法的值。对应本发明的继承方法,本发明中的第二解析单元包括第二获取单元,用于获取n子对象的页面控件列表。第二判断单元,用于判断UI子对象是否有UI父对象。第三判断单元,用于在UI子对象有UI父对象时,根据UI子对象的页面控件列表中的子控件判断UI父对象中是否有对应的父控件。第二合并单元,用于在判断n父对象中有对应的父控件时,将父控件具有而所述子控件不具有的属性和事件响应脚本合并到子控件。对应本发明的继承方法,本发明中的第三解析单元包括第四判断单元,用于判断UI子对象是否有UI父对象。第三获取单元,用于在UI子对象有UI父对象时,获取UI父对象的资源引用列表和n子对象的资源引用列表。第三合并单元,用于合并n子对象的资源引用列表至n父对象的资源引用列表; 若n子对象的资源引用列表中的资源引用与n父对象的资源引用列表中的资源引用相同,则忽略n子对象中的资源引用。值得注意的是,本发明的装置与本发明的方法相对应,因此对装置部分不再详述, 相关部分参见方法实施例即可。以上对本发明所提供的一种n复用方法及装置进行了介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种n复用方法,其特征在于,所述方法包括获取通用UI父页面;以面向对象的方式描述UI父页面,获得UI父对象;继承所述UI父对象,生成UI子对象;转换所述UI子对象为UI子页面。
2.根据权利要求I所述的方法,其特征在于,所述继承所述n父对象,生成Ui子对象包括复制所述UI父对象的所有控件ID至所述UI子对象。
3.根据权利要求2所述的方法,其特征在于,所述继承所述UI父对象,生成UI子对象还包括以下任意一项或几项保存所述UI父对象需要修改的所述控件ID对应的控件属性和/或事件响应脚本至所述UI子对象;保存所述UI父对象需要修改的页面脚本至所述UI子对象;保存所述n父对象需要增加的引用资源至所述n子对象;保存所述Ui父对象需要增加的控件id、所述控件ID对应控件的控件属性和事件响应脚本至所述UI子对象;在所述UI子对象中删除所述UI父对象需要删除的控件ID。
4.根据权利要求I所述的方法,其特征在于,所述转换所述n子对象为UI子页面包括解析所述n父对象和所述n子对象,获得页面脚本列表,页面控件列表和资源引用列表;提取所述页面控件列表中的事件脚本;合并所述事件脚本和所述页面脚本列表生成脚本文件;提取所述页面控件列表中的页面控件;合并所述页面控件和所述资源引用列表为页面文件;转换所述脚本文件和所述页面文件为UI子页面。
5.根据权利要求4所述的方法,其特征在于,所述解析所述UI父对象和所述UI子对象,获得页面脚本列表包括判断所述UI子对象是否有UI父对象;若有,获取所述UI父对象的页面脚本列表;获取所述n子对象的页面脚本列表;合并所述n子对象的页面脚本列表至所述n父对象的页面脚本列表;若所述n子对象的页面脚本列表中的公共变量或公共方法与所述Ui父对象的页面脚本列表中的公共变量或公共方法相同,则使用所述n子对象的页面脚本列表中的公共变量或公共方法的值覆盖所述n父对象的所述页面脚本列表中的对应公共变量或公共方法的值。
6.根据权利要求4所述的方法,其特征在于,所述解析所述UI父对象和所述UI子对象,获得页面控件列表为获取所述n子对象的页面控件列表;判断所述n子对象是否有n父对象;若有,根据所述UI子对象的页面控件列表中的子控件判断所述UI父对象中是否有对应的父控件ID ;若有,则将所述父控件具有而所述子控件不具有的属性和事件响应脚本复制到所述子控件。
7.根据权利要求4所述的方法,其特征在于,所述解析所述UI父对象和所述UI子对象,获得资源引用列表为判断所述UI子对象是否有UI父对象;若有,获取所述UI父对象的资源引用列表;获取所述n子对象的资源引用列表;合并所述n子对象的资源引用列表至所述n父对象的资源引用列表;若所述n子对象的资源引用列表中的资源引用与所述n父对象的资源引用列表中的资源引用相同,则忽略所述资源引用。
8.一种装置,其特征在于,所述装置包括获取单元,用于获取通用n父页面;描述单元,用于以面向对象的方式描述n父页面,获得n父对象;继承单元,用于继承所述UI父对象,生成UI子对象;转换单元,用于转换所述UI子对象为UI子页面。
9.根据权利要求8所述的装置,其特征在于,所述继承单元包括第一继承子单元,用于复制所述UI父对象的所有控件ID至所述UI子对象。
10.根据权利要8所述的装置,其特征在于,所述继承单元还包括以下任意一个或几个单元第二继承子单元,用于保存所述n父对象需要修改的所述控件id对应的控件属性和 /或事件响应脚本至所述UI子对象;第三继承子单元,用于保存所述UI父对象需要修改的页面脚本至所述UI子对象; 第四继承子单元,用于保存所述n父对象需要增加的引用资源至所述n子对象; 第五继承子单元,用于保存所述n父对象需要增加的控件id、所述控件id对应控件的控件属性和事件响应脚本至所述n子对象;第六继承子单元,用于在所述n子对象中删除所述n父对象需要删除的控件id。
11.根据权利要求8所述的装置,其特征在于,所述转换单元包括解析单元,所述解析单元包括第一解析单元、第二解析单元和第三解析单元,分别用于解析所述n父对象和所述n子对象,获得页面脚本列表、页面控件列表和资源引用列表; 第一提取单元,用于提取所述页面控件列表中的事件脚本,合并所述事件脚本和所述页面脚本列表生成脚本文件;第二提取单元,用于提取所述页面控件列表中的页面控件;合并所述页面控件和所述资源引用列表为页面文件;第一转换子单元,用于转换所述脚本文件和所述页面文件为UI子页面。
12.根据权利要求8所述的装置,其特征在于,所述第一解析单元包括第一判断单元,用于判断所述UI子对象是否有UI父对象;第一获取单元,用于在判断所述n子对象有n父对象时获取所述n父对象的页面脚本列表和所述n子对象的页面脚本列表;第一合并单元,用于合并所述UI子对象的页面脚本列表至所述UI父对象的页面脚本列表;若所述UI子对象的页面脚本列表中的公共变量或公共方法与所述UI父对象的页面脚本列表中的公共变量或公共方法相同,则使用所述n子对象的页面脚本列表中的公共变量或公共方法的值覆盖所述Ui父对象的所述页面脚本列表中的对应公共变量或公共方法的值。
13.根据权利要求8所述的装置,其特征在于,所述第二解析单元包括第二获取单元,用于获取所述n子对象的页面控件列表;第二判断单元,用于判断所述UI子对象是否有UI父对象;第三判断单元,用于在所述n子对象有n父对象时,根据所述n子对象的页面控件列表中的子控件判断所述Ui父对象中是否有对应的父控件;第二合并单元,用于在判断所述UI父对象中有对应的父控件时,将所述父控件具有而所述子控件不具有的属性和事件响应脚本合并到所述子控件。
14.根据权利要求8所述的装置,其特征在于,所述第三解析单元包括第四判断单元,用于判断所述n子对象是否有n父对象;第三获取单元,用于在所述UI子对象有UI父对象时,获取所述UI父对象的资源引用列表和所述n子对象的资源引用列表;第三合并单元,用于合并所述Ui子对象的资源引用列表至所述UI父对象的资源引用列表;若所述n子对象的资源引用列表中的资源引用与所述n父对象的资源引用列表中的资源引用相同,则忽略所述资源引用。
全文摘要
本发明公开了一种UI复用方法,所述方法包括获取通用UI父页面;以面向对象的方式描述UI父页面,获得UI父对象;继承所述UI父对象,生成UI子对象;转换所述UI子对象为UI子页面。本发明通过将要复用的UI父页面以面向对象的方式描述,使得父对象有很好的封装性,从而在很大程度上减少了UI复用的工作量。本发明还提供了一种装置,所述装置包括获取单元,用于获取通用UI父页面;描述单元,用于以面向对象的方式描述UI父页面,获得UI父对象;继承单元,用于继承所述UI父对象,生成UI子对象;转换单元,用于转换所述UI子对象为UI子页面。
文档编号G06F9/44GK102541564SQ201110460269
公开日2012年7月4日 申请日期2011年12月31日 优先权日2011年12月31日
发明者于洋, 张德阳, 张霞 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1