一种程序扩展方法及相关装置与流程

文档序号:16428454发布日期:2018-12-28 19:57阅读:193来源:国知局
一种程序扩展方法及相关装置与流程

本申请涉及计算机技术领域,特别涉及一种程序扩展方法、扩展需求的代码执行方法、程序扩展装置、代码执行装置、服务器以及计算机可读存储介质。

背景技术

随着信息技术不断发展,原来越多的程序功能需要通过程序实现。因此在程序开发过程中,就需要不断在原有的程序流程上添加新的需求和新的功能。

现有技术中,添加新需求的方式是在原有的流程中直接添加相应的代码以实现在原有的流程中添加新的需求和功能。但是当新增的需求变多,需要添加的功能越来越多时,在原有代码的流程就会越来越长,对应的代码就会越来越多。代码数量增大到一定级别后容易导致阅读维护困难,无法理解功能主线。代码中的多个功能逻辑纠缠在一起修改起来十分困难。

因此,如何使得增加需求后的代码结构简单,利于维护是本领域技术人员关注的重点问题。



技术实现要素:

本申请的目的是提供一种程序扩展方法、扩展需求的代码执行方法、程序扩展装置、代码执行装置、服务器以及计算机可读存储介质,通过职责链的方式将增加类添加到原始代码逻辑中,避免对原始代码逻辑直接增加代码,提高了代码的可维护性。

为解决上述技术问题,本申请提供一种程序扩展方法,应用于原始逻辑代码,所述原始逻辑代码根据流程步骤划分为n个层次,n为大于等于1的正整数,所述方法包括:

当接收到第一增加类时,在原始逻辑代码中确定所述第一增加类的目标层次;

对所述目标层次创建职责链接口;其中,所述职责链接口指向所述目标层次的需求功能接口;

将所述第一增加类的类名添加至所述需求功能接口中,以便程序运行至所述目标层次时加载所述第一增加类。

可选的,还包括:

当接收到第m增加类时,将所述第m增加类的类名添加至第m-1增加类中,以便所述第m-1增加类运行时加载所述第m增加类;其中,m为大于1的正整数。

本申请还提供一种扩展需求的代码执行方法,包括:

当程序启动时,将第一增加类加载到需求功能接口中;

将第m增加类加载到第m-1增加类中;其中,m为大于1的正整数;

将需求功能接口加载到原始逻辑代码的目标层次的职责链接口中;

运行所述原始逻辑代码。

本申请还提供一种程序扩展装置,包括:

逻辑代码分层模块,用于将原始逻辑代码根据流程步骤划分为n个层次,n为大于等于1的正整数;

目标层次确定模块,用于当接收到第一增加类时,在所述原始逻辑代码中确定所述第一增加类的目标层次;

接口创建模块,用于对目标层次创建职责链接口;其中,所述职责链接口指向所述目标层次的需求功能接口;

第一增加类添加模块,用于将所述第一增加类的类名添加至所述需求功能接口中,以便程序运行至所述目标层次时加载所述第一增加类。

可选的,还包括:

第二增加类添加模块,用于当接收到第m增加类时,将所述第m增加类的类名添加至第m-1增加类中,以便所述第m-1增加类运行时加载所述第m增加类;其中,m为大于1的正整数。

本申请还提供一种扩展需求的代码执行装置,包括:

第一增加类加载模块,用于当程序启动时,将第一增加类加载到需求功能接口中;

第二增加类加载模块,用于将第m增加类加载到第m-1增加类中;其中,m为大于1的正整数;

接口加载模块,用于将需求功能接口加载到原始逻辑代码的目标层次的职责链接口中;

代码运行模块,用于运行所述原始逻辑代码。

本申请还提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的程序扩展方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的程序扩展方法的步骤。

本申请所提供的一种程序扩展方法,应用于原始逻辑代码,所述原始逻辑代码根据流程步骤划分为n个层次,n为大于等于1的正整数,所述方法包括:当接收到第一增加类时,在原始逻辑代码中确定所述第一增加类的目标层次;对所述目标层次创建职责链接口;其中,所述职责链接口指向所述目标层次的需求功能接口;将所述第一增加类的类名添加至所述需求功能接口中,以便程序运行至所述目标层次时加载所述第一增加类。

通过将原有的逻辑代码进行分层,在每个层次添加职责链接口,使职责链接口对应于需求功能接口,再将新增加需求的增加类添加到需求功能接口中,使得在程序运行到对应层次时加载该增加类,实现了对原有逻辑代码添加新的需求功能,同时避免了原有逻辑代码膨胀的问题,每个功能类分离,并且不影响主题逻辑的阅读,提高了代码的可维护性。

本申请还提供一种扩展需求的代码执行方法、程序扩展装置、代码执行装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种程序扩展方法的流程图;

图2为本申请实施例提供的一种扩展需求的代码执行方法的流程图;

图3为本申请实施例所提供的一种程序扩展装置的结构示意图;

图4为本申请实施例所提供的一种扩展需求的代码执行装置的结构示意图。

具体实施方式

本申请的核心是提供一种程序扩展方法、扩展需求的代码执行方法、程序扩展装置、代码执行装置、服务器以及计算机可读存储介质,通过职责链的方式将增加类添加到原始代码逻辑中,避免对原始代码逻辑直接增加代码,提高了代码的可维护性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有技术中,添加新需求的方式是在原有的流程中直接添加相应的代码以实现在原有的流程中添加新的需求和功能。但是当新增的需求变多,需要添加的功能越来越多,在原有代码的流程就会越来越长,对应的代码就会越来越多。代码数量增大到一定级别后容易导致阅读维护困难,无法理解功能主线。代码中的多个功能逻辑纠缠在一起修改起来十分困难。

因此,现有技术提供一种程序扩展方法,通过将原有的逻辑代码进行分层,在每个层次添加职责链接口,使职责链接口对应于需求功能接口,再将新增加需求的增加类添加到需求功能接口中,使得在程序运行到对应层次时加载该增加类,实现了对原有逻辑代码添加新的需求功能,同时避免了原有逻辑代码膨胀的问题,每个功能类分离,并且不影响主题逻辑的阅读,提高了代码的可维护性。

具体的,请参考图1,图1为本申请实施例所提供的一种程序扩展方法的流程图。

该方法应用于原始逻辑代码,原始逻辑代码根据流程步骤划分为n个层次,n为大于等于1的正整数;

其中,需要将原始逻辑代码根据流程步骤划分为n个层次,可以按照代码逻辑的执行流程步骤进行划分,例如,原始代码逻辑主要是3个步骤,分别是a、b、c三个步骤,因此,可以将该流程划分为a之前、b之前、c之前以及c之后四个层级。还可以采用现有技术提供的任意一种逻辑代码的划分方法,在此不做具体限定。

方法包括:

s101,当接收到第一增加类时,在原始逻辑代码中确定第一增加类的目标层次;

在对原始逻辑代码进行层次划分的基础上,本步骤旨在确定该第一增加类的目标层次,也就是该第一增加类应该添加到原始逻辑代码的某个层次。例如,如果第一增加类实际需求添加在b之前,则确定该第一增加类对应的目标层次为“b之前”这个层次。

s102,对目标层次创建职责链接口;其中,职责链接口指向目标层次的需求功能接口;

在步骤s101的基础上,本步骤旨在对确定的目标层次创建职责链接口,该职责链接口对应了该目标层次的需求功能接口。也就是当程序执行到该目标层次时,可以通过职责链接口执行到需求功能接口。在需求功能接口中添加了相关的实现新功能的类,因此通过对该目标层次创建职责接口就可以实现对代码添加新需求的功能。

s103,将第一增加类的类名添加至需求功能接口中,以便程序运行至目标层次时加载第一增加类。

在步骤s102的基础上,本步骤旨在将第一增加类的类名添加到需求功能接口中。需求功能接口通过与职责链接口相对应,就可以使得程序运行至职责链接口位置时加载需求功能接口,需求功能接口通过添加的类名执行第一增加类。

可选的,本实施例还可以包括:

当接收到第m增加类时,将第m增加类的类名添加至第m-1增加类中,以便第m-1增加类运行时加载第m增加类;其中,m为大于1的正整数。

综上,本实施例通过将原有的逻辑代码进行分层,在每个层次添加职责链接口,使职责链接口对应于需求功能接口,再将新增加需求的增加类添加到需求功能接口中,使得在程序运行到对应层次时加载该增加类,实现了对原有逻辑代码添加新的需求功能,同时避免了原有逻辑代码膨胀的问题,每个功能类分离,并且不影响主题逻辑的阅读,提高了代码的可维护性。

基于以上实施例,本申请还提供一种扩展需求的代码执行方法,在对代码逻辑进行扩展的基础上执行该扩展代码,实现对原始代码逻辑的扩展,并且通过职责链执行该代码,可维护性较高。

具体的,请参考图2,图2为本申请实施例提供的一种扩展需求的代码执行方法的流程图。

该方法可以包括:

s201,当程序启动时,将第一增加类加载到需求功能接口中;

s202,将第m增加类加载到第m-1增加类中;其中,m为大于1的正整数;

s203,将需求功能接口加载到原始逻辑代码的目标层次的职责链接口中;

s204,运行原始逻辑代码。

也就是在程序启动时,将第一增加类加载到需求功能接口中,再将后续的第m增加类加载到第m-1增加类中,相当于在同一个目标层次中可以添加多个增加类,并且每个增加类之间相互独立,互不影响。增加了代码的可维护性,并且没有使原有的代码逻辑膨胀。

本申请实施例提供了一种程序扩展方法,可以通过将原有的逻辑代码进行分层,在每个层次添加职责链接口,使职责链接口对应于需求功能接口,再将新增加需求的增加类添加到需求功能接口中,使得在程序运行到对应层次时加载该增加类,实现了对原有逻辑代码添加新的需求功能,同时避免了原有逻辑代码膨胀的问题,每个功能类分离,并且不影响主题逻辑的阅读,提高了代码的可维护性。

下面对本申请实施例提供的一种程序扩展装置进行介绍,下文描述的一种程序扩展装置与上文描述的一种程序扩展方法可相互对应参照。

具体的,请参考图3,图3为本申请实施例所提供的一种程序扩展装置的结构示意图。

该装置可以包括:

逻辑代码分层模块110,用于将原始逻辑代码根据流程步骤划分为n个层次,n为大于等于1的正整数;

目标层次确定模块120,用于当接收到第一增加类时,在原始逻辑代码中确定第一增加类的目标层次;

接口创建模块130,用于对目标层次创建职责链接口;其中,职责链接口指向目标层次的需求功能接口;

第一增加类添加模块140,用于将第一增加类的类名添加至需求功能接口中,以便程序运行至目标层次时加载第一增加类。

该装置可以还包括:

第二增加类添加模块,用于当接收到第m增加类时,将第m增加类的类名添加至第m-1增加类中,以便第m-1增加类运行时加载第m增加类;其中,m为大于1的正整数。

本申请实施例还提供一种扩展需求的代码执行装置,请参考图4,图4为本申请实施例所提供的一种扩展需求的代码执行装置的结构示意图。

该装置可以包括:

第一增加类加载模块210,用于当程序启动时,将第一增加类加载到需求功能接口中;

第二增加类加载模块220,用于将第m增加类加载到第m-1增加类中;其中,m为大于1的正整数;

接口加载模块230,用于将需求功能接口加载到原始逻辑代码的目标层次的职责链接口中;

代码运行模块240,用于运行原始逻辑代码。

本申请实施例还提供一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如以上实施例所述的程序扩展方法的步骤。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的程序扩展方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种程序扩展方法、扩展需求的代码执行方法、程序扩展装置、代码执行装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1