一种消息处理方法、装置、电子设备及存储介质与流程

文档序号:16780501发布日期:2019-02-01 19:05阅读:141来源:国知局
一种消息处理方法、装置、电子设备及存储介质与流程

本发明实施例涉及软件开发技术领域,尤其涉及一种消息处理方法、装置电子设备及存储介质。



背景技术:

在软件开发设计中,通常采用mvc(model-view-controller,模型-视图-控制)框架对特定软件进行开发设计,其中,模型层负责消息的生成、收集等工作,视图层负责基于所述消息进行页面展示工作,控制层负责消息的传输工作,即负责将消息传输至视图层。

所述消息最终被传输至视图层中用于页面展示,最终通过视图层页面的改变被消费掉。传统方案中对所述消息的处理过程为:通过消息总线经过一系列的分发操作将所述消息传输至视图层,由视图层再对消息进行解析以及页面展示等处理操作。但是传统方案存在如下缺陷:消息总线占用大量业务代码的开发工作,且消息需要经过多级流转才能被传输至视图层,极大地降低了代码的开发效率。针对上述缺陷有一种改进方案,具体为:通过建立控制层与视图层之间的引用关系,以及模型层与控制层之间的引用关系,当模型层接收到消息时,直接通过调用控制层来触发视图层中的消息处理操作,实现对消息的处理,从而使得所述消息无需再经过多次分发最终达到视图层,减少了消息的传递次数,也无需再开发用于消息分发的消息总线,提高了代码的开发效率。

但是上述改进方案存在另一个缺陷:模型层、控制层以及视图层之间存在链条式的引用关系,逐层引用,导致各层之间的代码耦合度非常高,且随着业务功能的增加会导致代码的可维护性变差。



技术实现要素:

本发明实施例提供一种消息处理方法、装置、电子设备及存储介质,通过所述方法可降低各模块之间的耦合度,提高业务代码的可维护性以及扩展性,同时减少了消息的传递次数,降低了消息传递的复杂性,极大地提高了开发效率。

第一方面,本发明实施例提供了一种消息处理方法,所述方法包括:

建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法;

第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑;

建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法;

第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法;

当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

进一步的,所述建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法,包括:

定义第一协议接口;

在所述第一协议接口定义消息处理函数;

其中,所述第一协议接口的类型为公有类型,所述消息处理函数的类型为公有类型,以使所述消息处理函数被其他类进行调用。

进一步的,所述建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法,包括:

定义第二协议接口;

在所述第二协议接口定义与所述消息处理函数名称相同的函数;

在所述第二协议接口利用所述第二功能模块类对应的构造函数对所述消息处理函数进行初始化操作,以通过所述第二协议接口实现所述第一协议接口中的协议方法。

进一步的,所述在所述第二协议接口利用所述第二功能模块类对应的构造函数对所述消息处理函数进行初始化操作,包括:

在所述第二协议接口当利用所述第二功能模块类对应的构造函数对所述第二功能模块类进行初始化时,将已经初始化完成的第一功能模块类传递给所述第二功能模块类的对象;

或者,在所述第二协议接口在所述第二功能模块类对应的构造函数内部对第一功能模块类进行初始化操作。

进一步的,所述当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息之前,所述方法还包括:

在所述第三功能模块对应的类中定义一个所述第二协议接口对象;

在所述第三功能模块对应的类的构造函数中对所述第二协议接口对象进行初始化,以使所述第三功能模块具有调用所述第二协议接口的权限。

进一步的,所述当第三功能模块接收到消息之后,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法之前,所述方法还包括:

将所述消息转换为与所述消息处理函数的参数类型对应的数据对象。

第二方面,本发明实施例提供了一种消息处理装置,所述装置包括:

第一建立模块,用于建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法;

第一继承模块,用于第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑;

第二建立模块,用于建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法;

第二继承模块,用于第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法;

调用模块,用于当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的消息处理方法。

第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如上述第一方面所述的消息处理方法。

本发明实施例提供的一种消息处理方法,通过设计第一协议接口来调用第一功能模块类中复写的用于处理消息的协议方法,通过设计第二协议接口来调用第二功能模块类中复写的协议方法,并且建立第二协议接口与第一协议接口之间的引用关系,当第三功能模块接收到消息时,通过第二协议接口调用第二功能模块类中复写的协议方法以触发第一协议接口中的协议方法,最终实现调用第一功能模块类中复写的用于处理消息的协议方法,实现了降低各模块之间的耦合度,提高业务代码的可维护性以及扩展性,同时减少消息的传递次数,降低消息传递的复杂性,提高代码开发效率的目的。

附图说明

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

图1为本发明实施例一提供的一种消息处理方法流程示意图;

图2为本发明实施例二提供的一种消息处理方法流程示意图;

图3为本发明实施例三提供的一种消息处理装置结构示意图;

图4为本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的一种消息处理方法流程示意图。本实施例公开的消息处理方法应用于android系统中,可以由消息处理装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在安装有内部包含多个独立功能模块的应用软件的android系统的设备中,例如android手机等。具体参见图1所示,该方法包括如下步骤:

110、建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法。

其中,本实施例中所述的消息具体可以指用户的输入或者系统根据特定的业务逻辑自动触发的消息,在软件开发中,通常会设置专门的功能模块用于接收消息,接收到的所述消息需要在特定的功能模块中被处理,以实现特定的业务逻辑。因此,传统方案中对所述消息的处理过程包括:第一种方法为将所述消息经过多次传递,由消息接收模块最终传递至消息处理模块,该方法中所述消息需要被多次传递,导致用于消息传递的代码开发量变大;另一种方法为通过建立各功能模块之间的引用关系,使得所述消息通过各功能模块之间的互相调用被处理掉,该方法中各功能模块之间具有较强的引用关系,耦合度较高,使得业务代码的可维护性变差。因此,为了减少各功能模块之间的彼此引用、依赖关系,降低各功能模块之间的耦合度,本实施例引入了协议接口,将用于处理消息的业务逻辑移植到协议接口,对应的消息处理功能模块通过继承所述协议接口并复写所述协议接口中用于处理消息的业务逻辑,实现消息处理功能模块对消息的处理功能;当其他的功能模块需要引用消息处理功能模块对消息进行处理时,则直接通过引用所述协议接口即可实现对消息的处理功能,减少了各功能模块之间的引用关系,降低了各功能模块之间的耦合度。

本实施例以所述消息为“修改页面背景颜色的消息”为例进行解释说明。该消息由消息接收器模块进行接收,由视图控制器模块控制视图层模块根据所述消息进行页面背景颜色的修改并进行页面展示,即所述消息最终需要被视图层模块进行处理,以实现视图层模块根据所述消息修改页面背景颜色的目的。传统方案中,所述视图控制器模块与所述视图层模块之间具有引用关系,所述消息接收器模块与所述视图控制器模块之间具有引用关系,当消息接收器模块接收到消息时,直接通过调用视图控制器模块触发所述视图层模块中用于处理消息的功能函数对所述消息进行处理。为了解耦视图控制器模块与所述视图层模块之间的引用关系,本实施例设计了第一协议接口。

示例性的,所述建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法,包括:

定义第一协议接口;

在所述第一协议接口定义消息处理函数;

其中,所述第一协议接口的类型为公有类型,所述消息处理函数的类型为公有类型,以使所述消息处理函数被其他类进行调用。

其中,定义第一协议接口,并在第一协议接口定义“修改页面背景颜色”的消息处理函数的定义方法具体为:

publicinterfacemycontrollertoview{

publicvoidonreceivechangebgcolor(colorbeancolor)

}

第一协议接口的名称为“mycontrollertoview”,该第一协议接口中用于消息处理的协议方法为名称为“onreceivechangebgcolor”的消息处理函数,消息处理函数的类型为公有类型,以使所述消息处理函数可以被其他类进行调用。所述消息处理函数的返回值是一个void类型的,也就是空返回函数,所述消息处理函数的参数信息是colorbean类型的数据color,其中,colorbean类型的数据color是最终传递给视图层模块的消息,视图层模块会利用所述消息处理函数“onreceivechangebgcolor”实现对页面背景颜色的更新和修改操作。视图层模块中所述消息处理函数“onreceivechangebgcolor”是一个public的普通函数,则该消息处理函数可以通过视图类对象进行调用,当该消息处理函数被调用的时候就会改变视图层的颜色信息,即修改页面的背景颜色。在消息处理函数“onreceivechangebgcolor”中进一步通过调用color.getcolor()方法来获取需要改变的颜色色值信息bgcolor,然后通过视图类中的view.setbackgroundcolor(bgcolor)方法来修改页面的背景颜色信息。消息处理函数“onreceivechangebgcolor”本应该存在于视图层模块对应的视图类,但是为了降低各功能模块之间的引用关系,本实施例中通过将消息处理函数“onreceivechangebgcolor”定义在第一协议接口中,当其他功能模块需要引用视图层模块中的消息处理函数时,则可直接通过引用所述第一协议接口实现,同时为了保证所述视图层模块具备消息处理的逻辑功能,则所述视图层模块通过继承所述第一协议接口并复写所述第一协议接口中的消息处理函数实现。

120、第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑。

其中,功能模块是指实现应用软件开发中某些特定功能的模块。所述第一功能模块可以是但不限于消息接收模块、视图控制器模块和视图层模块中的任一模块。本实施例以所述第一功能模块为视图层模块为例进行解释说明,所述视图层模块用于根据消息进行页面修改以及展示操作。

具体的,视图层模块通过“implementsmycontrollertoview”的方法继承所述第一协议接口并复写所述第一协议接口中的协议方法,通过继承所述第一协议接口并复写所述第一协议接口中的协议方法,视图层模块则具有了与所述协议方法功能相同的业务逻辑,其他功能模块通过引用所述第一协议接口则实现了调用所述视图层模块中复写的协议方法的目的,通过所述第一协议接口桥接了所述视图层模块与其他功能模块之间引用关系,降低了各功能模块之间的直接引用关系,降低了各功能模块之间的耦合度。

130、建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法。

其中,所述第二协议接口用于解耦其他功能模块与第二功能模块之间的引用关系,所述第二功能模块与所述第一功能模块之间具有引用关系,所述第二功能模块可以是但不限于消息接收模块、视图控制器模块和视图层模块中的任一模块,本实施例以所述第二功能模块为视图控制器模块为例进行解释说明。所述视图控制器模块是一个对视图状态进行控制的逻辑单元,主要用于对视图状态进行控制,例如控制更改视图页面颜色,更改视图中进度条的进度等,即视图控制器模块用于控制视图层模块view的一些消息处理的方法,也就是说视图控制器模块是能够对视图层模块view进行控制,这种控制在业务代码层面的体现是通过在视图控制器模块类(类名称为myviewcontroller)的内部持有视图层模块view的应用关系来构建的。具体的持有视图层模块的视图控制器模块的实现方法是在视图控制器模块类myviewcontroller的构造函数中实现对视图层模块类的初始化或者视图层模块类的持有操作。为了降低各功能模块之间的耦合度,本实施例将视图控制器模块对视图层模块的持有关系移植到所述第二协议接口中,即建立所述第二协议接口与所述第一协议接口之间的引用关系。

所述第二协议接口具体用于解耦消息接收器模块与视图控制器模块之间的引用关系。建立第二协议接口的目的是将本应该存在于第二功能模块(即视图控制器模块)中的业务逻辑移植至所述第二协议接口,以降低其他功能模块与所述第二功能模块之间的耦合度。在本实施例中,由于视图控制器模块与所述视图层模块之间具有引用关系,因此,为了降低视图控制器模块与视图层模块之间的耦合度并且不影响所述视图层模块中相关业务逻辑的执行,建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法。由于所述视图层模块继承并复写了所述第一协议接口中的协议方法,因此当所述第一协议接口中协议方法被执行时,则在所述视图层模块内部实现了所述协议方法。

示例性的,所述建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法,包括:

定义第二协议接口;

在所述第二协议接口定义与所述消息处理函数名称相同的函数;

在所述第二协议接口利用所述第二功能模块类对应的构造函数对所述消息处理函数进行初始化操作,以通过所述第二协议接口实现所述第一协议接口中的协议方法。

定义第二协议接口,并在所述第二协议接口定义与所述消息处理函数名称相同的函数,具体为:

publicinterfaceimsgtocontroller{

publicvoidonreceivechangebgcolor(colorbeancolor)

}

其中,所述第二协议接口的名称为“imsgtocontroller”定义的函数名称为“onreceivechangebgcolor”,与在第一协议接口中定义的消息处理函数名称相同。

示例性的,所述在所述第二协议接口利用所述第二功能模块类对应的构造函数对所述消息处理函数进行初始化操作,包括:

在所述第二协议接口当利用所述第二功能模块类对应的构造函数对所述第二功能模块类进行初始化时,将已经初始化完成的第一功能模块类传递给所述第二功能模块类的对象;

或者,在所述第二协议接口在所述第二功能模块类对应的构造函数内部对第一功能模块类进行初始化操作。

具体的,通过如下所示的两种方法利用所述视图控制器模块类对应的构造函数对所述消息处理函数进行初始化操作:

publicvoidmyviewcontroller()

publicvoidmyviewcontroller(viewview)

其中,“myviewcontroller”为视图控制器模块的类名称,上述没有参数的构造函数publicvoidmyviewcontroller()是需要在构造函数的内部对视图层模块view的类进行初始化操作,有参数的构造函数publicvoidmyviewcontroller(viewview)是将一个已经初始化操作完成的视图层模块类传递给视图控制器模块myviewcontroller对象。这两种构造方法最终的目标是使所述第二协议接口持有了所述第一协议接口的应用关系。

140、第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法。

为了保持视图控制器模块对视图层模块的控制作用,即为了使视图控制器模块依然具备所述第二协议接口中的协议方法,视图控制器模块通过继承所述第二协议接口并复写所述第二协议接口中的引用关系实现。

具体的,视图控制器模块通过“implementsimsgtocontroller”的方法继承所述第二协议接口并复写所述第二协议接口中的引用关系,通过继承所述第二协议接口并复写所述第二协议接口中的引用关系,视图控制器模块则具有了与所述第二协议接口功能相同的业务逻辑,其他功能模块通过引用所述第二协议接口则实现了调用所述视图控制器模块中复写的协议方法的目的,通过所述第二协议接口桥接了所述视图控制器模块与其他功能模块之间的引用关系,降低了各功能模块之间的直接引用关系,降低了各功能模块之间的耦合度。

150、当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

其中,所述第三功能模块具体可以是用于接收消息的消息接收器模块。当所述第二协议接口被调用时,则实现了调用所述视图控制器模块中复写协议方法,通过所述视图控制器模块中复写的协议方法触发了所述第一协议接口中的消息处理函数,进而实现了对所述视图层模块中复写的消息处理函数的调用。

本实施例提供的一种消息处理方法,通过设计第一协议接口来调用第一功能模块类中复写的用于处理消息的协议方法,通过设计第二协议接口来调用第二功能模块类中复写的协议方法,并且建立第二协议接口与第一协议接口之间的引用关系,当第三功能模块接收到消息时,通过第二协议接口调用第二功能模块类中复写的协议方法以触发第一协议接口中的协议方法,最终实现调用第一功能模块类中复写的用于处理消息的协议方法,实现了降低各模块之间的耦合度,提高业务代码的可维护性以及扩展性,同时减少消息的传递次数,降低消息传递的复杂性,提高代码开发效率的目的。

实施例二

图2为本发明实施例二提供的一种消息处理方法流程示意图。在上述实施例的基础上,本实施例给出了上述步骤150“当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息”的实现过程。具体参见图2所示,该方法包括如下步骤:

210、建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法。

220、第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑。

230、建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法。

240、第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法。

250、在所述第三功能模块对应的类中定义一个所述第二协议接口对象,在所述第三功能模块对应的类的构造函数中对所述第二协议接口对象进行初始化,以使所述第三功能模块具有调用所述第二协议接口的权限。

其中,所述第二协议接口对象为全局变量,以使其他对象可以对其进行调用,在所述第三功能模块对应的类msgreceiver中定义一个全局变量imsgtocontroller具体为:

privateimsgtocontrollermimsgtocontroller。

在第三功能模块对应的类msgreceiver的构造函数中对mimsgtocontroller对象进行初始化操作,具体的初始化方法是通过调用mimsgtocontroller=newmyviewcontroller()来实现,经过上述步骤在第三功能模块对应的类msgreceiver接收消息的地方则可直接通过调用第二协议接口对象mimsgtocontroller中的mimsgtocontroller.onreceivechangebgcolor(color)实现视图层模块对消息的处理。通过设计第二协议接口imsgtocontroller来调用第二功能模块(即视图控制器模块类myviewcontroller)中复写的消息处理函数onreceivechangebgcolor。通过这种设计解耦了消息接收器模块msgreceiver和视图控制器模块myviewcontroller之间的强引用关系,提高了各功能模块之间的独立性。

260、当消息接收器接收到消息时,将所述消息转换为与所述消息处理函数的参数类型对应的数据对象。

例如,当消息接收器接收到改变页面背景颜色的消息后,首先将所述消息转换成视图显示所需要的bean对象,即所述消息处理函数onreceivechangebgcolor(colorbeancolor)所需要的参数类型colorbean的数据对象。

270、调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

将所述消息转换成视图显示所需要的bean对象后,直接通过调用第二协议接口对象mimsgtocontroller中的mimsgtocontroller.onreceivechangebgcolor(color)实现视图层模块对消息的处理,此时视图控制器模块就会自动触发视图层模块复写的修改页面背景颜色的函数onreceivechangebgcolor,视图层模块就实现了颜色的修改流程。通过多个协议接口的设计方式,解耦了各功能模块之间的直接引用关系,提高了各功能模块之间的独立性。

本实施例提供的一种消息处理方法,通过在消息接收器模块对应的类中定义全局的第二协议接口对象,并在消息接收器模块对应的类的构造函数中对所述第二协议接口对象进行初始化操作,实现了在消息接收器模块接收消息的地方可直接通过调用第二协议接口对象的方式调用消息处理函数,实现对消息的处理,且解耦了各功能模块之间的引用关系,尤其当业务逻辑增加时,提高了业务代码的可维护性。

实施例三

图3为本发明实施例三提供的一种消息处理装置结构示意图。参见图3所示,所述装置包括:第一建立模块310、第一继承模块320、第二建立模块330、第二继承模块340和调用模块350;

其中,第一建立模块310,用于建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法;

第一继承模块320,用于第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑;

第二建立模块330,用于建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法;

第二继承模块340,用于第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法;

调用模块350,用于当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

本实施例提供的消息处理装置,通过设计第一协议接口来调用第一功能模块类中复写的用于处理消息的协议方法,通过设计第二协议接口来调用第二功能模块类中复写的协议方法,并且建立第二协议接口与第一协议接口之间的引用关系,当第三功能模块接收到消息时,通过第二协议接口调用第二功能模块类中复写的协议方法以触发第一协议接口中的协议方法,最终实现调用第一功能模块类中复写的用于处理消息的协议方法,实现了降低各模块之间的耦合度,提高业务代码的可维护性以及扩展性,同时减少消息的传递次数,降低消息传递的复杂性,提高代码开发效率的目的。

实施例四

图4为本发明实施例四提供的一种电子设备的结构示意图。如图4所示,该电子设备包括:处理器670、存储器671及存储在存储器671上并可在处理器670上运行的计算机程序;其中,处理器670的数量可以是一个或多个,图4中以一个处理器670为例;处理器670执行所述计算机程序时实现如上述实施例一中所述的消息处理方法。如图4所示,所述电子设备还可以包括输入装置672和输出装置673。处理器670、存储器671、输入装置672和输出装置673可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器671作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中消息处理装置/模块(例如,第一建立模块310和第二建立模块320等)。处理器670通过运行存储在存储器671中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及消息处理,即实现上述的消息处理方法。

存储器671可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器671可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器671可进一步包括相对于处理器670远程设置的存储器,这些远程存储器可以通过网络连接至电子设备/存储介质。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置672可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置673可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种消息处理方法,该方法包括:

建立第一协议接口,使所述第一协议接口具有用于消息处理的协议方法;

第一功能模块继承所述第一协议接口并复写所述第一协议接口中的协议方法,以使所述第一功能模块具有与所述协议方法功能相同的业务逻辑;

建立第二协议接口,并建立所述第二协议接口与所述第一协议接口之间的引用关系,以通过所述第二协议接口实现所述第一协议接口中的协议方法;

第二功能模块继承所述第二协议接口并复写所述第二协议接口中的引用关系,以使所述第二功能模块实现所述第一协议接口中的协议方法;

当第三功能模块接收到消息时,调用所述第二协议接口以通过所述第二功能模块触发所述第一功能模块中复写的协议方法,以处理所述消息。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的消息处理相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储介质,或者网络设备等)执行本发明各个实施例所述的。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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