CN100499681C - 一种实现灵活装卸的向导式界面的方法 - Google Patents
一种实现灵活装卸的向导式界面的方法 Download PDFInfo
- Publication number
- CN100499681C CN100499681C CNB2006100750588A CN200610075058A CN100499681C CN 100499681 C CN100499681 C CN 100499681C CN B2006100750588 A CNB2006100750588 A CN B2006100750588A CN 200610075058 A CN200610075058 A CN 200610075058A CN 100499681 C CN100499681 C CN 100499681C
- Authority
- CN
- China
- Prior art keywords
- page
- interface
- main interface
- main
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种实现灵活装卸的向导式界面的方法,包括以下步骤:把向导式界面中不变或变化少的部分提取出来形成一个主界面框架部分,剩余部分形成一个易于变化的页面部分;定义一注册机制,在注册时包含组件调用的必要信息,该注册机制负责定义和读取执行序列;定义一控制机制,该控制机制用于负责读取所述注册机制传回的当前序列,并去调度需要的主界面框架和需要加载的页面,进行前置处理后显示为界面。本发明方法对于CDMA前台版本主备板同步过程进行了改进,减少了设计的工作量,简化了开发模式,增强了系统维护的灵活性,特别是当主备业务发生变化时,可以直接通过定制序列信息来完成该功能。
Description
技术领域
本发明涉及通讯领域,尤其涉及的是,通讯领域单板向导式界面的灵活组合和拆卸的方法。
背景技术
向导式界面是界面显示中一种比较常见的类型,其应用也非常广泛,其特点是界面结构相对稳定,多个页面之间存在直接或间接的联系,其作用是引导用户完成其所期望的任务或功能。然而也由于其自身的不灵活性,特别是当要加入或减少某些过程控制时,可能需要对大部分原有代码进行修改,而给这种页面的维护带来了弊端。同时,由于其页面的相互关联,在实现上也存在着诸多问题,大部分页面堆叠在一起,即不直观也不好定位。解决这个问题的根本所在就是考虑一种方法,把这种可能需要修改的内容从代码中提取出来,以最大可能来增强这种存在业务逻辑关系的页面的灵活性,充分发挥向导式界面的作用。
以单板主备同步为例,其界面是一个比较固定的界面框架,而其内部经常变化的是局部位置上的组件,这种界面的实现方法通常有两种。
一种是把主界面固定,然后设计一组面板,这些面板之间的联系通过公共接口来实现,其先后顺序通过设置(如java中的卡片式布局)序列号来实现,但是这种做法其实质只是提供了公共接口去控制当前显示的面板应该是什么,而真正的逻辑定义都是在程序中实现,并且,还增加了每次判定的次数,因为按钮事件是相同的,而当前显示的页面是不定的,这就需要在按钮事件发生时去判定当前显示的页面是什么,先前的参数值是什么等等,每一个页面的所有可能都不得不在一个函数中来全部遍历一次,这样就花费了不必要的时间,同时还增加了维护的困难。
另外一种方式就是实例重构的方式,也就是每一次显示的页面其实就是一个全新的界面,当点击按钮的时候当前界面隐藏或消失,下一个界面显示出来(类似web中的页面处理方式),这样可以把每个页面的逻辑独立出来,但是却额外增加了对设置值的保存工作和带来页面闪烁的弊端。并且毫无疑问,上述两种方法都存在维护困难的问题,比如当需要增加页面中的某个参数显示或整个页面的删除或增加时,常常要在代码中遍历所有相关调用,然后一一修改,这种做法不但修改量大,而且很不安全;另外,假如存在页面复用的情况,原有方法基本上只能在组件级别上复用,而不能真正实现整个界面的复用。
发明内容
本发明的目的在于提出一种实现灵活装卸的向导式界面的方法,很好的把向导式界面的业务逻辑从代码中抽取出来,真正实现了向导式界面的灵活增加和减少的功能。
本发明的技术方案包括:
一种实现灵活装卸的向导式界面的方法,包括以下步骤:
A,把向导式界面中不变或变化少的部分提取出来形成一个主界面框架部分,剩余部分形成一个易于变化的页面部分;
B,定义一注册机制,在注册时包含组件调用的必要信息,该注册机制负责定义和读取执行序列;
C,定义一控制机制,该控制机制用于负责读取所述注册机制传回的当前序列,并去调度需要的主界面框架和需要加载的页面,进行前置处理后显示为界面。
所述的方法,其中,所述步骤B中包括有注册信息,该注册信息包含主界面类名,页面类型和页面类名,以及一可选的分支判定。
所述的方法,其中,在单板主备同步中所述步骤B包括:
B1、定义一分支判断,并在注册中获取上一个页面的返回值,通过返回值定义下一个页面的显示内容;
B2、前面两个页面的选择情况来显示单板主备同步的列表,在注册中重新定义一个主界面的类名,并在其下定义需要显示的页面类名;
B3、在注册类型中注明为动作类型,并在注册信息中填入动作序列的执行类名。
所述的方法,其中,还包括:当获取主界面框架时,首先判定当前界面是否已经显示,如果已经显示,则调用当前主界面实例,如果没有显示则重新创建新的主界面实例,并把当前主界面实例释放,然后返回新创建的主界面实例。
所述的方法,其中,还包括:当调用面板的组件实例时,首先通过标识号,如id,去组件容器中获取已经存在的组件实例,如果发现获取到的组件实例,则返回,如果没有发现则重新创建新组件实例并把对应的标识号和创建的组件实例放入组件容器中,返回新的组件实例。
所述的方法,其中,还包括:当获取到主界面实例和组件实例时,首先执行对应的前置处理方法,当获取到界面下一步事件后执行对应的后置处理方法。
本发明所提供的一种实现灵活装卸的向导式界面的方法,对于前台版本主备板同步过程进行了改进,减少了设计的工作量,简化了开发模式,增强了系统维护的灵活性,特别是当主备业务发生变化,比如增加一种单板的配置时,可以直接通过定制序列信息来完成该功能,而不需要重新修改代码;该发明还可以用于其他诸如性能数据查询,告警信息查询,单板配置等含有向导式界面的操作过程。
附图说明
图1是采用本发明方法优选的系统框架图;
图2是采用本发明方法实现CDMA前台单板主备同步的执行过程。
具体实施方式
以下结合附图,将对本发明的各较佳实施例进行较为详细的说明。
本发明所述实现灵活装卸的向导式界面的方法,把不经常变化的主界面和容易变化的页面进行了分离,形成一公用框架和子面板panel的关系,通过序列定制和注册机制,实现向导界面的页面控制和逻辑判定,把这些逻辑相关的实现放在配置文件中,每一个最小单元是页面包含panel和其中的所有组件而不是单个的组件,同时在配置文件中可以支持对面板中组件的方法调用和条件判定,把实现逻辑移植到配置信息中,真正把业务逻辑和具体实现分开,整个执行过程依赖于配置文件的定义来完成。这样,当需要读取某个页面的参数或屏蔽或增加某些页面时只需要简单的修改配置文件中的内容,而不需要对源代码进行重新修改,同时这样的设计也满足了设计上的“开-闭”(即对扩展开发,对修改屏蔽)原则,从而增强了向导界面的扩展能力。
本发明方法包括了以下处理过程:
第一步,把向导式界面中不变或变化较少的部分提取出来形成一个主界面框架部分,剩余部分形成一个易于变化的页面部分。
第二步,定义一个注册机制,在注册时包含组件调用的必要信息如页面调度的顺序关系等,该机制负责定义和读取执行序列,注册信息应该包含主界面类名,页面类型和页面类名,最后是包括一个可选的分支判定。
以前台单板主备同步为例,该过程需要四个序列,首先是全IP和BTSA单板的选择,第一个页面的注册内容是主框架的类名,全IP选择和BTSA单板的业务相关的页面类名;下一个页面则是单板选择,该页面需要根据上一个选择情况来决定显示的单板内容,因此,在此处需要定义一个分支判断;在注册中首先需要获取上一个页面的返回值,并通过返回值定义下一个页面的显示内容。
再然后就是单板的选择,根据前面两个页面的选择情况来显示单板主备同步的列表,该页面由于主界面也发生了改变,因此在注册中需要重新定义一个主界面的类名,并在其下定义需要显示的页面类名。最后是一个动作序列,在注册类型中注明为动作类型,并在注册信息中填入动作序列的执行类名。
第三步,定义一个控制机制,控制机制负责读取注册机制传回的当前序列,然后去调度需要的主界面框架和需要加载的页面,并进行前置处理后显示为界面,这样就完成了一次页面调度过程。
当获取主界面框架时,首先判定当前界面是否已经显示,如果已经显示,则调用当前实例,如果没有显示则重新创建新的实例,并把当前实例释放,然后返回新创建的实例。
当调用面板组件实例时,首先通过id号,去组件容器中获取已经存在的实例,如果发现获取到的实例,则返回,如果没有发现则重新创建新实例并把对应的id号和创建的实例放入组件容器中,然后返回新的实例。
当获取到主界面实例和组件实例时,首先执行对应的前置处理方法,当获取到界面下一步事件后执行对应的后置处理方法。
如图1所示本发明方法主要在模块上把整个界面分成五个部分,其中必要的部分有执行控制,主界面管理池,该管理池包含但不限于一个主界面,组件管理池和一个必要的序列定制控制,其他模块为推荐模块。
所述主界面管理池部分主要实现统一的框架风格,另外保留将来对风格修改和多个框架选择调度的接口;组件库管理池部分,主要是通过继承统一的父类来实现各自特殊需求的界面,考虑到与前期设计的兼容,这部分需要提取前期几个接口,调度接口根据传入的统一类来进行组件选择,可以考虑采用工厂模式实现;定制部分,包括定制内容和构造信息两部分,主要是给操作员的接口,通过定制内容来确定执行内容。控制部分是整个设计的核心部分,实现了四个方面的内容,其中主界面调度控制,执行控制和组件控制负责构造一个统一的界面;序列定制控制是和定制代理交互的接口,同时也是上一步下一步调度的控制模块。
影响本发明方法实现的关键因素有三个,一个是要选取合适的组件种类,除了面板组件以外的其它必要的组件类型;另一个就是定义合适的定制文档结构和功能;最后就是如何通过定制的内容来创建组件实例,本发明建议采用的通过反射机制来实现。组件类型的选定主要根据需求而定,主要是定制某些没有界面但是影响执行的部分内容,在定制文档的定义上,可以扩展定义,比如支持跳转,文档连接,分支判定等内容,进一步增强向导式界面的灵活性。
如图2所示是本发明方法实现CDMA版本主备板同步的执行流程:
步骤101,判断在形成主备同步目标类型选择页面是否选择目标单板是全IP单板,根据选择情况,在定制控制中传入该选择信息,由注册机制根据选择进入下一个选择分支。
步骤102在没有选择全IP单板的情况下,判断是否选择了BTSA单板,如果选择了则通过定制代理来调度BTSA单板的目标选择页面,如果没有选择则返回选择页面,该页面不进行跳转。
步骤103在选择了全IP单板的情况下,判断是否选择了BTSA单板,如果选择了则通过定制代理来调度所有单板的目标选择页面,如果没有选择则只调度全IP单板的目标选择页面。
步骤104在选择了单板类型的情况下,通过定制控制调用定制代理返回的定制序列形成一个页面调度信息,执行控制把改信息传递给主界面控制和组件控制,并获取到主界面实例和组件实例,最后形成一个完整的主备板信息比较页面。
步骤105比较主备板是否存在需要同步情况,如果存在则通过定制序列调度主备同步的执行动作,如果不存在则结束同步过程。
步骤106如果判断存在需要同步的单板,通过定制控制调用定制代理返回的定制序列形成一个动作调度信息,执行控制把该信息传递给主界面控制并完成一次动作执行过程,然后进入下一次调度过程;如果当前已经到达最后,下一个调度会返回NULL,表示整个过程执行结束。
本发明方法对于CDMA前台版本主备板同步过程进行了改进,减少了设计的工作量,简化了开发模式,增强了系统维护的灵活性,特别是当主备业务发生变化,比如增加一种单板的配置时,可以直接通过定制序列信息来完成该功能,而不需要重新修改代码;该发明还可以用于其他诸如性能数据查询,告警信息查询,单板配置等含有向导式界面的操作过程。
应当理解的是,上述针对具体实施例的描述较为详细,并不能因此而理解为对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (2)
1、一种实现灵活装卸的向导式界面的方法,包括以下步骤:
A,把向导式界面中不变或变化少的部分提取出来形成一个主界面框架部分,剩余部分形成一个易于变化的页面部分;
B,定义一注册机制,在注册时包含组件调用的必要信息,该注册机制负责定义和读取执行序列;
C,定义一控制机制,该控制机制用于负责读取所述注册机制传回的当前序列,并去调度需要的主界面框架和需要加载的页面,进行前置处理后显示为界面;
当获取主界面框架时,首先判定当前界面是否已经显示,如果已经显示,则调用当前主界面实例,如果没有显示则重新创建新的主界面实例,并把当前主界面实例释放,然后返回新创建的主界面实例;
当调用面板的组件实例时,首先通过标识号,去组件容器中获取已经存在的组件实例,如果发现获取到的组件实例,则返回,如果没有发现则重新创建新组件实例并把对应的标识号和创建的组件实例放入组件容器中,返回新的组件实例;
所述步骤B中包括有注册信息,该注册信息包含主界面类名,页面类型和页面类名,以及一可选的分支判定;
所述步骤B包括:
B1、定义一分支判断,并在注册中获取上一个页面的返回值,通过返回值定义下一个页面的显示内容;
B2、前面两个页面的选择情况来显示单板主备同步的列表,在注册中重新定义一个主界面的类名,并在其下定义需要显示的页面类名;
B3、在注册类型中注明为动作类型,并在注册信息中填入动作序列的执行类名。
2、根据权利要求1所述的方法,其特征在于,还包括:当获取到主界面实例和组件实例时,首先执行对应的前置处理方法,当获取到界面下一步事件后执行对应的后置处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100750588A CN100499681C (zh) | 2005-12-08 | 2006-03-21 | 一种实现灵活装卸的向导式界面的方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510102230.X | 2005-12-08 | ||
CN200510102230 | 2005-12-08 | ||
CNB2006100750588A CN100499681C (zh) | 2005-12-08 | 2006-03-21 | 一种实现灵活装卸的向导式界面的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1980267A CN1980267A (zh) | 2007-06-13 |
CN100499681C true CN100499681C (zh) | 2009-06-10 |
Family
ID=38131259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100750588A Active CN100499681C (zh) | 2005-12-08 | 2006-03-21 | 一种实现灵活装卸的向导式界面的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499681C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826015A (zh) * | 2010-04-27 | 2010-09-08 | 上海威灵电子有限公司 | 窗口界面配置系统以及窗口界面配置方法 |
CN102385595A (zh) * | 2010-08-30 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 用于微博的用户列表复用方法和装置 |
CN105224353B (zh) * | 2014-06-26 | 2018-11-06 | 北京北方华创微电子装备有限公司 | 动态加载界面导航的方法及系统 |
CN110069734B (zh) * | 2017-08-16 | 2023-10-24 | 浙江天猫技术有限公司 | 一种页面组件的展现方法和装置 |
CN111309216B (zh) * | 2020-02-10 | 2022-03-22 | 广州虎牙科技有限公司 | 列表页面的显示方法、装置、计算机设备及存储介质 |
-
2006
- 2006-03-21 CN CNB2006100750588A patent/CN100499681C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN1980267A (zh) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113034095B (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
CN107193545B (zh) | 一种面向构件的多语言协同开发装置、方法与系统 | |
CN101777004B (zh) | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 | |
CN106251485B (zh) | 一种自助设备统一管理系统 | |
CN100499681C (zh) | 一种实现灵活装卸的向导式界面的方法 | |
US20010025373A1 (en) | Technique for enabling applications to use languages other than their built-in macro-languages without changing the applications | |
CN101872305A (zh) | Ui表现和业务逻辑分离方法和系统 | |
EP1819094A1 (en) | Script language based network device configuration management system and method | |
CN101427220A (zh) | 用于计算工具的计算环境的组件化自动供应和管理 | |
CN1292127A (zh) | 使用petri网的原理和技术来编写电话呼叫中心的脚本 | |
CN101185303A (zh) | 创建用于绑定应用程序与关联后端服务器之间的消息的映射文档的系统及方法 | |
CN101256482A (zh) | 一种嵌入式应用程序的开发系统及方法 | |
CN101888320A (zh) | 增强型网络适配器框架 | |
Savidis et al. | Unified user interface development: the software engineering of universally accessible interactions | |
US9542161B2 (en) | Method and system for generating a source code for a computer program for execution and simulation of a process | |
CN114153442A (zh) | 基于可视化组件的大屏可视化页面配置方法和系统 | |
CN109344165A (zh) | 一种查询方法及存储设备 | |
CN101894317B (zh) | 数据变化驱动业务逻辑的方法和系统 | |
CN112965717A (zh) | 多系统集成部署并保持界面统一的前端部署系统及方法 | |
CN112596711A (zh) | 一种基于Web系统的个性化权限管理设置方法及系统 | |
CN100547967C (zh) | 网格作业管理器与网格作业管理方法 | |
CN100407162C (zh) | 一种具有测试柔性的集成软件测试方法 | |
CN109885396A (zh) | 一种游戏应用中的字符串构建方法和装置 | |
CN101414260A (zh) | 用于创建多模式应用的系统和方法 | |
CN101599010A (zh) | 流程处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |