一种服务组合的控制层编码方法与流程

文档序号:15635993发布日期:2018-10-12 21:28阅读:146来源:国知局
本发明涉及用户图形界面领域,尤其涉及一种服务组合的控制层编码方法。
背景技术
:mvc是一种使用模型、视图、控制器设计创建web应用程序的模式。控制器是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。控制器接受用户的输入后,会对用户输入数据进行验证、处理并决定如何向模型发送;接受模型反馈的数据后,会对数据进行加工处理具体,确定数据如何显示以及显示在视图什么位置。控制器在mvc框架中起到粘合剂的作用,沟通视图和模型。在erp系统开发中,控制器负责控制数据在界面层和模型层间的流向,erp系统控制层逻辑复杂,场景多样,个性化功能通过二次开发扩展来实现。为提高产品二次开发扩展能力,提升开发效率,需要一种基于服务组合的控制层编码模式。技术实现要素:为了解决以上技术问题,本发明提出了一种服务组合的控制层编码方法,能够提升应用程序控制层二层开发扩展能力,提高开发效率。响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。本发明采用响应式编程的模式进行控制层编码,控制层逻辑由命令组成。命令是一个数据流,并包含对数据的加工处理。用户对界面层的操作触发命令,发起一个命令,命令接收初始数据并启动数据流,数据经过若干节点完成控制层逻辑。命令的每个节点都符合规定的接口规范,当需要在数据流转过程中增加扩展逻辑时,只要插入同样符合接口规范的节点即可进行扩展。本发明的技术任务是按照以下方式实现的:一种服务组合的控制层编码方法,包括以下步骤和内容:(一)命令描述。(二)生成命令。(三)执行命令。基于步骤(一),命令描述包括节点描述、节点编排规则描述。本发明使用xml格式描述节点和节点编排关系。节点描述,本发明定义了四种类型节点,方法节点、分支节点、条件节点、命令节点。方法节点,描述数据流转过程中对数据执行的方法,自身包含两个属性,此节点下最多可包含一个分支节点。方法节点的属性描述如下:属性描述service执行方法所在的服务对象method对数据执行的方法方法节点的xmlschema类型定义如下:分支节点,描述数据流转分支,是方法节点的子节点。分支节点根据所属方法节点的执行结果,判断下一步数据流向哪个方法节点。分支节点可包含至少一个条件节点。分支节点的xmlschema类型定义如下:条件节点,描述数据流转条件,是分支节点的子节点。其包含一个属性和至少一个方法节点,当上级方法节点的返回值与条件匹配时,条件成立,数据流转入此条件节点下的方法节点。数据进入方法节点时,数据将按照方法节点声明顺序逐个进入方法节点。属性描述switch条件节点成立的值条件节点的xmlschema类型定义如下:命令节点,描述数据流转的完整过程,命令节点下至少包含一个方法节点。命令启动时接收初始数据,启动后数据按照方法节点声明顺序,逐个进入方法节点。命令节点xmlschema类型定义如下:节点编排规则,描述方法节点、分支节点、条件节点组成命令节点的规则。具体规则如下:命令节点至少包含一个方法节点,执行命令时,数据按照方法节点声明顺序逐个进入方法节点。方法节点可包含分支节点,方法节点包含分支节点时,仅可包含一个分支节点。分支节点下至少包含一个条件节点。条件节点下至少包含一个方法节点。基于步骤(二),生成命令是将xml格式的命令描述转换为可执行代码。生成命令包括生成方法节点、生成分支节点、生成条件节点。命令节点通过命令转换机制转换为可执行代码。命令转换机制包含转换接口,以及四种节点的转换策略。四种节点转换策略分别为,命令转换策略、方法转换策略、分支转换策略、条件转换策略,以上四种策略均实现转换接口。转换接口定义如下:命令转换策略的转换接口接收xml格式的命令节点,其转换接口的实现逻辑为:1、生成访问初始数据的代码。2、生成创建命令代码。3、读取命令节点下的方法节点,创建方法转换策略并调用方法策略的转换接口,输出方法执行代码。4、将方法执行代码附加到命令代码内。5、重复步骤3、4至遍历完所有方法节点为止。6、输出完整命令代码。方法转换策略的转换接口接收xml格式的方法节点,其转换接口的实现逻辑为:1、读取方法节点的service属性获取待调用服务名,根据服务名生成访问指定服务的代码。2、读取方法节点的method属性获取待执行方法名,根据方法名生成调用指定服务方法的代码。3、检查方法节点下是否包含分支节点,如果包含则创建分支转换策略并调用转换接口。4、如果方法节点下包含分支描述节点,则将分支转换策略生成的代码附加到方法代码之后。5、如果方法节点不包含分支节点,则直接返回生成的方法代码。分支转换策略的转换接口接收xml格式的分支节点,其转换接口的实现逻辑为:1、生成分支选择代码。2、读取分支节点下的条件节点,创建条件转换策略并调用转换接口,输出条件执行代码。3、重复步骤2至遍历完所有条件节点为止。4、输出分支选择代码。条件转换策略的转换接口接收xml格式的条件节点,其转换接口的实现逻辑为:1、读取条件节点switch属性获取使条件成立的值。2、读取条件节点下的方法节点,创建方法转换策略并调用转换接口,输出方法代码。3、重复步骤2至遍历完所有方法节点为止。4、输出满足此条件时执行的方法代码。基于步骤(三),执行命令包括构造输入参数、执行方法节点、处理输出参数、分支控制。构造输入参数,执行命令时首先构造命令执行上下文,命令执行上下文包含数据、执行结果两个属性。执行方法节点时,执行上下文作为输入参数传递给每一个方法节点。创建执行上下文时,其中的数据为初始数据,数据进入每个方法节点时,方法节点对数据进行加工处理再反馈原始数据中。处理输出参数,数据进入方法节点后,方法返回值被更新入执行上下文的执行结果。分支控制,数据流转人分支节点时,分支节点读取执行上下文存储的执行结果,执行结果的值为上一个方法节点的返回值,将执行结果与条件节点的值进行比较,进入条件成立的下一个方法节点,最终完成命令执行。本发明的有益效果:通过应用此方法,可以提升应用程序控制层编码灵活性,提升应用程序控制层二层开发扩展能力,提高开发效率。附图说明图1是节点转换接口定义示意图;图2是命令结构定义示意图。具体实施方式下面对本发明的内容进行更加详细的阐述:以点击单据保存按钮的控制层逻辑为例创建保存命令。保存按钮的控制层逻辑为,当用户点击保存按钮后,系统验证界面数据是否符合提交规则,验证通过则向模型层提交界面数据,验证不通过在界面层向用户提示验证失败。系统提交数据后,模型层保存数据成功则在界面显示成功信息,否则显示失败信息。根据以上场景,定义保存命令为:命令转换机制将以上xml格式命令转换为可以执行代码,已javascript代码为例,转换后的代码为:以上可执行代码创建了名为savecommand的命令,并调用savecommand命令的perform方法执行命令。创建命令时,传入arguments和results两个参数用于构造命令执行上下文的数据和执行结果。command对象支持链式调用,每个方法的返回值都是command对象自身。生产的command定义代码通过append方法添加方法节点执行代码。首先,command对象添通过append方法添加保存前验证逻辑。然后,调用fork方法添加分支处理。分支处理逻辑包含两个条件,验证结果为true时,command对象通过append方法添加数据提交逻辑;验证结果为false是,command对象添加显示验证失败逻辑。数据提交逻辑后,通过fork方法为command增加分支处理逻辑,当提交逻辑返回值为true时,显示提交成功;当提交逻辑返回值为false时,显示异常信息。最后,完成命令创建,当调用perform方法时启动命令,执行相关逻辑。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1