逻辑系统及其实现方法、计算设备及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种逻辑系统及其实现方法、计算设备及计算机可读存储介质。
背景技术
传统软件开发中的功能模块是通过编写需求的实现类来对业务功能展开实施流程。这种功能模块的实现方式能够解决一部分问题的,但是当业务需求变更的时候由于所述功能模块是针对具体问题或需求而实现的,新需求来了我们就需要在原来的功能模块上进行大幅度的变更,这样的功能模块的实现方式是高入侵性的也是高度耦合的,对于后续的功能变更与升级会带来很多问题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种逻辑系统及其实现方法、计算设备及计算机可读存储介质。
本发明实施例提供的一种逻辑系统,所述逻辑系统包括:底层结构、核心层结构及实现层结构;
所述底层结构用于定义目标逻辑功能的生命周期,其中,所述底层结构中定义有各个生命周期各阶段对应的接口;
所述核心层结构中包括多个用于继承任一接口的多个抽象类;所述抽象类用于实现继承的接口对应的公共业务功能,及记录继承的接口对应的可变化功能;以及
所述实现层结构中包括多个子类,所述子类用于继承所述核心层结构中的对应记录可变化功能的抽象类。
本发明实施例还提供一种逻辑系统的实现方法,所述逻辑系统包括:底层结构、核心层结构及实现层结构;所述逻辑系统的实现方法包括:
建立所述底层结构,在所述核心层结构中定义目标逻辑功能的生命周期,并在所述底层结构中定义各个生命周期各阶段对应的接口;
在所述核心层结构中建立多个用于继承任一接口的多个抽象类;所述抽象类用于实现继承的接口对应的公共业务功能,及记录继承的接口对应的可变化功能;以及
在所述实现层结构中建立多个用于继承所述核心层结构中对应记录继承的接口对应的可变化功能的抽象类的多个子类。
本发明实施例还提供一种计算设备,所述包括:
存储器;
处理器;
安装/存储于所述存储器并由所述处理器执行的所述的逻辑系统。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在执行上述的逻辑系统的实现方法中的步骤。
与现有技术相比,本发明的逻辑系统及逻辑系统的实现方法,通过设置逐渐细化的三层结构:底层结构、核心层结构及实现层结构,不同层结构对应实现不同的功能,使逻辑系统的每一层功能明确。在需要更新逻辑系统的功能时,仅需要对所述实现层结构中的代码进行修改。另外,所述逻辑系统是分层实现不同等级的功能,避免了逻辑系统中出现重复的业务逻辑。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的计算设备的方框示意图。
图2为本发明较佳实施例提供的面向对象的逻辑系统的功能模块示意图。
图3为本发明较佳实施例提供的逻辑系统的实现方法的流程图。
图4为本发明另一较佳实施例提供的逻辑系统的实现方法的流程图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,图1为一计算设备100的方框示意图。所述计算设备100包括逻辑系统110、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115。本实施例中,所述计算设备100可以是个人计算机(personal computer,PC)、服务器等任意能够执行所述逻辑系统的设备。
所述存储器111、存储控制器112、处理器113、外设接口114及输入输出单元115各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述逻辑系统110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述计算设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器113用于执行存储器111中存储的可执行模块,例如所述逻辑系统110包括的软件功能模块或计算机程序。
其中,所述存储器111可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的计算设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口114将各种输入/输入装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
所述输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对计算设备100的结构造成限定。例如,计算设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
如图2所示,是本发明较佳实施例提供的运行于图1所述的计算设备100中的面向抽象的逻辑系统110。本实施例中,所述逻辑系统110可包括:底层结构1101、核心层结构1102及实现层结构1103。
本实施例中,所述底层结构1101用于定义目标逻辑功能的生命周期,其中,所述底层结构中定义有各个生命周期各阶段对应的接口。
本实施例中,所述底层结构的接口通过与所述目标逻辑功能的不同业务对应的不同的接口函数实现。
在一个实例中,在建立所述底层结构1101之前,可以根据一项具体的业务功能进行抽象得到所述业务功能的核心业务。例如,所述逻辑系统110用于展示一条文字。展示一条文字的过程可以抽象成1、获取文字信息;2设置文字属性;3展示文字内容,这样三个抽象骨架。简要过程为:开始-执行-结束。在这个实例中,所述核心层结构1102及实现层结构1103均为围绕:开始-执行-结束展开。本实例中,所述底层结构的生命周期为:开始-执行-结束。所述底层结构1101中定义有各个生命周期各阶段对应的接口,例如,包括开始对应的接口、执行对应的接口及结束对应的接口。
在另一实例中,所述逻辑系统110可用于实现读取一段数据库。读取一段数据库将其抽象为:1、获取读取数据库的参数;2、读取数据库内容;3、返回读取的内容信息这三个核心步骤来进行展开,这样三个抽象骨架。简要过程为:开始-执行-结束。本实例中与上述展示一条文字的实例中抽象出来的简要过程是相同的,因此两个实例中的底层结构1101中的接口数量相同,有相同的生命周期。
本实施例中,任意通过所述逻辑系统110实现的一个业务功能中的子功能均面向所述底层结构1101的一个接口。
本实施例的所述底层结构1101的接口的设计能够降低功能模块与外界的耦,可以使所述逻辑系统110能够在所述底层结构1101形成的功能骨架中进行扩展,提高代码的扩展性和可维护性。
所述核心层结构1102包括用于继承任一接口的多个抽象类。所述抽象类用于实现继承的接口对应的公共业务功能,及记录继承的接口可变化功能。
本实施例中,所述核心层结构中的抽象类包括第一抽象类及第二抽象类。所述第一抽象类用于实现目标逻辑功能中该接口对应的公共业务功能;所述第二抽象类包括目标逻辑功能中该接口对应的可变化业务功能的抽象函数。
本实施例中,所述核心层结构1102中的抽象类被封装,并将所述第二抽象类与所述第一抽象类进行分离。所述封装是指把实现过程和数据包围起来,对数据的访问只能通过已定义的接口。封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
在一个实例中,所述底层结构1101中可包括三个接口,分别是:开始接口、执行接口及结束接口。所述逻辑系统110用于实现展示一条文字,其中,每个独立的展示一条文字的业务功能都会有:1、获取文字信息;2、设置文字属性;3、展示文字内容的业务功能。则所述核心层结构1102的抽象类可包括:用于实现获取文字信息动作的抽象类、用于实现所述设置文字属性的抽象类、用于实现展示文字功能的抽象类。其中,获取文字信息为展示一条文字的业务功能中的开始步骤,所述用于实现获取文字信息动作的抽象类继承所述底层结构1101中的开始对应的接口;设置文字属性为展示一条文字的业务功能中的执行步骤,所述用于实现所述设置文字属性的抽象类继承所述底层结构1101中的执行对应的接口;展示文字内容的业务功能为展示一条文字的业务功能中的结束步骤,所述用于实现展示文字功能的抽象类继承所述底层结构1101中的结束对应的接口。上述实例仅仅描述底层结构1101的接口被一个抽象类继承,但是更多的业务类型的底层结构1101的接口可以被多个抽象类继承。
本实施例中,不同的展示一条文字的业务功能获取文字信息的地址可能不一样,所述用于实现获取文字信息动作的抽象类中可包括用于记载获取所述文字信息地址的抽象函数。所述抽象函数可以接收到所述抽象类的子类返回的关于所述文字信息地址的参数。
本实施例中的核心层结构1102实现了所述逻辑系统110需要处理一个业务需求的可能的公共业务部分,因此能够有效地降低所述实现层结构1103的实现的复杂度。
所述实现层结构1103中包括多个子类,所述子类用于继承所述核心层结构1102中对应记录继承的接口对应的可变化功能的抽象类。
本实施例中,所述子类继承所述核心层结构1102中对应记录的可变化功能,可以具体实现所述核心层结构1102不能实现的功能部分。
在一个实例中,所述子类可以是继承上述实例中的用于实现获取文字信息动作的抽象类的实现类。
本实施例中,用于展示一条文字的逻辑系统不同的业务部分具体实现仅仅在所述实现层结构1103中实现。例如,在所述计算设备100中已经设计可以用于展示第一文字的逻辑系统,第一文字失去时效时需要展示第二文字时,需要将所述用于展示第一文字的逻辑系统进行更新,而展示一条文字可能存在不同的业务仅仅在所述实现层结构1103中更改相关内容即可实现,因此,将所述实现层结构1103中的内容进行修改即可实现将所述用于展示第一文字的逻辑系统进行更新的目的。
本实施例的逻辑系统最终实现业务的子类仅仅需要完成很少的可变部分的代码就能够实现目标逻辑功能的业务功能效果。后期如果业务需求发生变更时,可以重新申明一个实现类让这个实现类继承所述核心层结构1102的抽象类,因此在新的实现中可以仅仅通过修改原始逻辑系统中的可变化的部分来达到新的业务需求。因此,本实施例中的逻辑系统既能实现目标逻辑功能的原始功能类,也能够为新的需求提供对应的功能类,后期需要进行业务切换的时候仅仅需要切换所述实现层结构1103中的子类就能够达到业务功能切换的目标。也就是说,本实施例提供的逻辑系统通过实现层结构1103以实现逻辑系统可修改的目的,能够大大降低编写代码的任务量,提高代码的编写效率。并且,新功能的加入并不会引起原始功能逻辑的改变,也保证软件的稳定性。
本实施例中,所述子类用于获取所述抽象函数所需参数,并将所述所需参数返回给所述抽象函数以使所述抽象函数执行具体功能。
根据本实施例中的面向对象的逻辑系统,通过设置逐渐细化的三层结构:底层结构、核心层结构及实现层结构,不同层结构对应实现不同的功能,使逻辑系统的每一层功能明确。在需要更新逻辑系统的功能时,仅需要对所述实现层结构中的代码进行修改。另外,所述逻辑系统是分层实现不同等级的功能,避免的逻辑系统中出现重复的业务逻辑。
请参阅图3,是本发明较佳实施例提供的应用于图1所示的计算设备的逻辑系统的实现方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S201,建立所述底层结构,在所述核心层结构中定义目标逻辑功能的生命周期,并在所述底层结构中定义各个生命周期各阶段对应的接口。
所述底层结构的接口通过与所述目标逻辑功能的不同业务对应的不同的接口函数实现。
步骤S202,在所述核心层结构中建立多个用于继承任一接口的多个抽象类;所述抽象类用于实现继承的接口对应的公共业务功能,及记录继承的接口对应的可变化功能。
步骤S203,在所述实现层结构中建立多个用于继承所述核心层结构中对应记录继承的接口对应的可变化功能的抽象类的多个子类。
在一种实施例中,在步骤S202中,可以在所述核心层结构中建立第一抽象类及第二抽象类。所述第一抽象类用于实现目标逻辑功能中该接口对应的公共业务功能;所述第二抽象类包括目标逻辑功能中该接口对应的可变化业务功能的抽象函数。
本实施例中,如图4所示,步骤S202之后还可以包括:
步骤S301,将所述核心层结构中的抽象类封装,并将所述第二抽象类与所述第一抽象类进行分离。
本实施例中,所述方法还包括:通过所述子类获取所述抽象函数所需参数,并将所述所需参数返回给所述抽象函数以使所述抽象函数执行具体功能。
关于本实施例中的方法的其它细节可以进一步地参考上述逻辑系统实施例中的描述,在此不再赘述。
根据本实施例中的逻辑系统的实现方法,通过设置逐渐细化的三层结构:底层结构、核心层结构及实现层结构,不同层结构对应实现不同的功能;使逻辑系统的每一层功能明确;需要更新逻辑系统的功能时,仅需要对所述实现层结构中的代码进行修改。另外,所述逻辑系统是分层实现不同等级的功能,避免的逻辑系统中出现重复的业务逻辑。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述图4对应的方法实施例中描述的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。