CN110597493B - 车联网开发***控制方法及相关产品 - Google Patents
车联网开发***控制方法及相关产品 Download PDFInfo
- Publication number
- CN110597493B CN110597493B CN201910778383.8A CN201910778383A CN110597493B CN 110597493 B CN110597493 B CN 110597493B CN 201910778383 A CN201910778383 A CN 201910778383A CN 110597493 B CN110597493 B CN 110597493B
- Authority
- CN
- China
- Prior art keywords
- class
- module
- control inversion
- inversion container
- control
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种车联网开发***控制方法,应用于电子设备,所述电子设备包括控制反转容器和多个类模块,所述多个类模块与所述控制反转容器连接,所述方法包括:所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。实施本申请实施例有利于提高车联网开发***灵活性,提高用户体验度。
Description
技术领域
本申请涉及车辆控制领域,具体涉及一种车联网开发***控制方法及相关产品。
背景技术
随着科技的快速发展,汽车逐渐成为出行的重要交通工具,在汽车的发展中,车联网***开始成为重要的车载终端设备。
目前,在对车联网开发***进行设计时,通常是将各类模块与其关联的类模块进行连接,因此,在车联网开发***执行控制功能过程中,类模块需要调用对象必须主动控制关联类模块创建对象,车联网开发***中各类模块的依赖性强、耦合性高,从而造成车联网开发***的灵活性低下,可维护性低下,用户体验度不高。
发明内容
本申请实施例提供一种车联网开发***控制方法及相关产品,期望通过控制反转容器减弱车联网开发***中各个类模块之间的依赖性和耦合性,提高车联网开发***的灵活性,有利于提高车联网开发***的可维护性,提高用户体验度。
第一方面,本申请实施例提供一种车联网开发***控制方法,应用于电子设备,所述电子设备包括控制反转容器和多个类模块,所述多个类模块与所述控制反转容器连接,所述方法包括:
所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之后,还包括:所述控制反转容器获取预设的类模块依赖关系;所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;所述控制反转容器将所述中间对象注入所述第二类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之前,还包括:所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;所述控制反转容器依据所述目标参数生成所述生成请求。
可选的,所述将所述目标对象注入所述第一类模块之后,还包括:所述控制反转容器获取预设的销毁算法;所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,包括:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块之前,还包括:所述控制反转容器获取预设的初始化算法;所述控制反转容器依据所述初始化算法对所述控制反转容器执行初始化操作。
可选的,所述将所述目标对象注入所述第一类模块,包括:所述控制反转容器从所述对象请求中确定目标注入方式;所述控制反转容器依据预设的注入方式与注入函数的映射关系确定所述目标注入方式对应的目标注入函数;所述控制反转容器调用所述目标注入函数将所述目标对象注入所述第一类模块。
第二方面,本申请实施例提供一种车联网开发***控制装置,其特征在于,应用于电子设备,所述电子设备包括控制反转容器和多个类模块,所述多个类模块与所述控制反转容器连接,所述车联网开发***控制装置包括接收单元、确定单元、发送单元和执行单元,其中:
所述接收单元,用于所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
所述确定单元,用于所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
所述发送单元,用于所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
所述执行单元,用于所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之后,所述发送单元,具体用于:所述控制反转容器获取预设的类模块依赖关系;所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;所述控制反转容器将所述中间对象注入所述第二类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之前,所述发送单元,还用于:所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;所述控制反转容器依据所述目标参数生成所述生成请求。
可选的,所述将所述目标对象注入所述第一类模块之后,所述执行单元,还用于:所述控制反转容器获取预设的销毁算法;所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,所述确定单元,具体用于:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块之前,所述确定单元,还用于:所述控制反转容器获取预设的初始化算法;所述控制反转容器依据所述初始化算法对所述控制反转容器执行初始化操作。
可选的,所述将所述目标对象注入所述第一类模块,所述执行单元,具体用于:所述控制反转容器从所述对象请求中确定目标注入方式;所述控制反转容器依据预设的注入方式与注入函数的映射关系确定所述目标注入方式对应的目标注入函数;所述控制反转容器调用所述目标注入函数将所述目标对象注入所述第一类模块。
第三方面,本申请实施例提供一种电子设备,其特征在于,包括处理器、存储器、通信设备以及一个或多个程序,处理器、存储器和通信设备相互连接,其中,通信设备用于与外部设备进行信息交互,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。如此,可以通过控制反转容器减弱车联网开发***中各个类模块之间的依赖性和耦合性,提高车联网开发***的灵活性,有利于提高车联网开发***的可维护性,提高用户体验度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种车联网开发***控制方法的流程示意图;
图2是本申请实施例提供的另一种车联网开发***控制方法的流程示意图;
图3是本申请实施例提供的另一种车联网开发***控制方法的流程示意图;
图4是本申请实施例提供的另一种车联网开发***控制方法的流程示意图;
图5是本申请实施例提供的一种车联网开发***的结构示意图;
图6是本申请实施例提供的一种车联网开发***装置的功能单元组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为电子设备。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例提供的一种车联网开发***控制方法的流程示意图,应用于电子设备,本车联网开发***控制方法包括:
步骤101、所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
其中,该对象请求包括:目标对象类、目标注入方式等等。
其中,该对象请求用于请求控制反转容器向该第一类模块注入对象。
其中,多个类模块可以包括:软件开发工具框架类模块、诊断类模块、控制类模块、体检类模块、车辆数据类模块、位置类模块、告警功能类模块等等,在此不作限定。
步骤102、所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
其中,第二类模块与第一类模块互不相同。
其中,从该对象请求中获取目标对象类,依据目标对象类确定第二类模块。
步骤103、所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
其中,该生成请求包括:目标对象类、目标对象参数等等,在此不作限定。
步骤104、所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
在一可能的示例中,所述控制反转容器向所述第二类模块发送生成请求之后,还包括:所述控制反转容器获取预设的类模块依赖关系;所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;所述控制反转容器将所述中间对象注入所述第二类模块。
可选的,接收第二类模块发送的中间对象请求,该中间对象请求用于请求控制反转容器注入中间对象,其中,该中间对象请求包括:目标中间对象类;获取类模块依赖关系,依据类模块依赖关系对该第二类模块进行判断,确定该第二类模块是否存在对应的依赖模块,若存在对应的依赖模块,获取该第二类模块对应的依赖模块,其中,该第二类模块对应的依赖模块可以为多个类模块中的一个或一个以上类模块,获取第二类模块对应的中间对象类与依赖模块的映射关系,依据该中间对象类与依赖模块的映射关系确定该目标中间对象类对应的第三类模块,向该第三类模块发送中间对象生成请求,其中,中间对象生成请求包括:中间对象参数,该中间对象生成请求用于指示第三类模块生成中间对象并返回;接收第三类模块返回的中间对象生成响应,该中间对象生成响应包括:中间对象,依据该中间对象请求确定中间对象注入方式,依据该中间对象注入方式将该中间对象注入该第二类模块。
其中,类模块依赖关系可以包括:
在此不作限定。
在一可能的示例中,所述控制反转容器向所述第二类模块发送生成请求之前,还包括:所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;所述控制反转容器依据所述目标参数生成所述生成请求。
可选的,获取预设的对象类与参数的映射关系,依据该对象类与参数的映射关系确定该目标对象类对应的目标参数,其中,任意一个对象类可以对应一个参数。
在一可能的示例中,所述将所述目标对象注入所述第一类模块之后,还包括:所述控制反转容器获取预设的销毁算法;所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
可选的,该销毁算法可以为用户预设的销毁算法也可以为默认的销毁算法,在此不作限定。
可选的,在所述控制反转容器接收第一类模块的对象请求之前,还包括:获取该控制反转容器中包含的对象,对该对象执行销毁操作。
在一可能的示例中,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,包括:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块。
其中,该对象请求包括:目标对象类、注入方式等等,在此不作限定。
其中,该多个类模块对应多个对象类,且该对象类与类模块的映射关系为该多个类模块与该多个对象类的一一对应关系。
在一可能的示例中,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块之前,还包括:所述控制反转容器获取预设的初始化算法;所述控制反转容器依据所述初始化算法对所述控制反转容器执行初始化操作。
其中,该初始化算法可以为用户预设的初始化算法也可以为默认的初始化算法,在此不作限定。
在一可能的示例中,所述将所述目标对象注入所述第一类模块,包括:所述控制反转容器从所述对象请求中确定目标注入方式;所述控制反转容器依据预设的注入方式与注入函数的映射关系确定所述目标注入方式对应的目标注入函数;所述控制反转容器调用所述目标注入函数将所述目标对象注入所述第一类模块。
其中,该注入方式可以包括:构造器注入和属性注入等,在此不作限定。
其中,该注入操作可以通过面向接口编程实现。
举例说明,结合上述示例,下面以一个例子对本车联网开发***控制方法进行说明:首先获取预设的初始化算法,控制反转容器对自身执行初始化操作,然后,控制反转容器接收软件开发工具框架类模块发送的对象请求,该对象请求包括:控制对象类、参数注入方式,获取预设的对象类与类模块的映射关系,确定该控制对象类对应的类模块为控制类模块,获取预设的对象类与参数的映射关系,确定该控制对象类对应的控制参数,依据该控制参数生成生成请求,向该控制类模块发送该生成请求,接收控制类模块返回的中间对象请求,从该中间对象请求中获取目标中间对象类为位置中间对象类,获取类模块与依赖模块的映射关系,确定该类模块对应的依赖模块为:车辆数据模块和位置类模块,获取该控制类模块对应的中间对象与依赖模块的映射关系,确定第三类模块为该位置中间对象类对应的位置类模块,依据预设的中间对象类与中间对象参数的映射关系确定该位置中间对象类对应的位置中间对象参数,依据该位置中间对象类生成中间对象生成请求并发送至该位置类模块;接收该位置类模块返回的位置中间对象类,从该中间对象请求中获取该中间对象的注入方式为构造器注入,获取预设的构造器函数,基于该构造器函数将该位置中间对象类注入该控制类模块;接收该控制类模块返回的目标对象,获取预设的参数注入函数,基于该参数注入函数将该目标对象注入该软件开发工具框架类模块;获取预设的销毁算法,对该中间对象和目标对象执行销毁操作。
可以看出,在本申请实施例中,所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。如此,可以通过控制反转容器减弱车联网开发***中各个类模块之间的依赖性和耦合性,提高车联网开发***的灵活性,有利于提高车联网开发***的可维护性,提高用户体验度。
请参阅图2,图2是本申请实施例提供的另一种车联网开发***控制方法的流程示意图,应用于电子设备,所述电子设备包括:控制反转容器,本车联网开发***控制方法包括:
步骤201、所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
步骤202、所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
步骤203、所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
步骤204、所述控制反转容器获取预设的类模块依赖关系;
步骤205、所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;
步骤206、所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;
步骤207、所述控制反转容器将所述中间对象注入所述第二类模块;
步骤208、所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
其中,上述步骤201-步骤208的具体描述可以参照上述图1所描述的车联网开发***控制方法的相应步骤,在此不再赘述。
可以看出,在本申请实施例中,控制反转容器首先接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;依据所述对象请求在所述多个类模块中确定第二类模块;向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;获取预设的类模块依赖关系;依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;将所述中间对象注入所述第二类模块,接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。如此,可以通过控制反转容器对第一类模块、第二类模块、第三类模块进行控制,降低第一类模块、第二类模块、第三类模块的耦合性和依赖性,提高车联网开发***的灵活性,提高用户体验度。
请参阅图3,图3是本申请实施例提供的另一种车联网开发***控制方法的流程示意图,应用于电子设备,本车联网开发***控制方法包括:
步骤301、所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
步骤302、所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
步骤303、所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;
步骤304、所述控制反转容器依据所述目标参数生成所述生成请求;
步骤305、所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
步骤306、所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
其中,上述步骤301-步骤306的具体描述可以参照上述图1所描述的车联网开发***控制方法的相应步骤,在此不再赘述。
可以看出,在本申请实施例中,控制反转容器首先接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;依据所述对象请求在所述多个类模块中确定第二类模块;依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;依据所述目标参数生成所述生成请求;向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。如此,可以实现通过控制反转容器对对象参数进行配置和更新,提高车联网开发***的可维护性和灵活性,提高用户体验度。
请参阅图4,图4是本申请实施例提供的另一种车联网开发***控制方法的流程示意图,应用于电子设备,本车联网开发***控制方法包括:
步骤401、所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
步骤402、所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
步骤403、所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
步骤404、所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块;
步骤405、所述控制反转容器获取预设的销毁算法;
步骤406、所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
其中,上述步骤401-步骤406的具体描述可以参照上述图1所描述的车联网开发***控制方法的相应步骤,在此不再赘述。
可以看出,在本申请实施例中,控制反转容器首先接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;依据所述对象请求在所述多个类模块中确定第二类模块;向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块;获取预设的销毁算法;依据所述销毁算法对所述目标对象执行销毁操作。如此,可以通过控制反转容器对第一类模块、第二类模块进行控制,降低第一类模块、第二类模块的耦合性和依赖性,提高车联网开发***的灵活性,提高用户体验度。
请参阅图5,图5是本申请实施例提供的一种车联网开发***500的结构示意图,如图所述,所述车联网开发***500包括:软件开发工具框架类模块501、诊断类模块502、控制类模块503、体检类模块504、车辆数据类模块505、位置类模块506、告警功能类模块507、控制反转容器508,其中:
所述软件开发工具框架类模块501、所述诊断类模块502、所述控制类模块503、所述体检类模块504、所述车辆数据类模块505、所述位置类模块506、所述告警功能类模块507分别与所述控制反转容器508连接,所述软件开发工具框架类模块501、所述诊断类模块502、所述控制类模块503、所述体检类模块504、所述车辆数据类模块505、所述位置类模块506、所述告警功能类模块507之间互不相连。
可以看出,通过将软件开发工具框架类模块、诊断类模块、控制类模块、体检类模块、车辆数据类模块、位置类模块、告警功能类模块分别与控制反转容器连接,其中,软件开发工具框架类模块、诊断类模块、控制类模块、体检类模块、车辆数据类模块、位置类模块、告警功能类模块之间互不相连,本申请实施例中提供的车联网开发***可以实现通过控制反转容器降低各个模块之间的耦合性和依赖性,可以通过更改控制反转容器的配置对车联网开发***进行更新,简化车联网开发***配置更新流程,缩短车联网开发***配置更新周期,有利于提高车联网开发***的灵活性和可维护性,提高用户体验度。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个控制单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图6,图6是本申请实施例中所涉及的车联网开发***控制装置600的功能单元组成框图。该车联网开发***控制装置600应用于电子设备,所述电子设备包括:控制反转容器和多个类模块,车联网开发***控制装置600包括接收单元601、确定单元602、发送单元603和执行单元604,其中:
接收单元601,用于所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;
确定单元602,用于所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;
发送单元603,用于所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;
执行单元604,用于所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之后,所述发送单元603,具体用于:所述控制反转容器获取预设的类模块依赖关系;所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;所述控制反转容器将所述中间对象注入所述第二类模块。
可选的,所述控制反转容器向所述第二类模块发送生成请求之前,所述发送单元603,还用于:所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;所述控制反转容器依据所述目标参数生成所述生成请求。
可选的,所述将所述目标对象注入所述第一类模块之后,所述执行单元604,还用于:所述控制反转容器获取预设的销毁算法;所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,所述确定单元602,具体用于:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块。
可选的,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块之前,所述确定单元602,还用于:所述控制反转容器获取预设的初始化算法;所述控制反转容器依据所述初始化算法对所述控制反转容器执行初始化操作。
可选的,所述将所述目标对象注入所述第一类模块,所述执行单元604,具体用于:所述控制反转容器从所述对象请求中确定目标注入方式;所述控制反转容器依据预设的注入方式与注入函数的映射关系确定所述目标注入方式对应的目标注入函数;所述控制反转容器调用所述目标注入函数将所述目标对象注入所述第一类模块。
可以看出,在本申请实施例中,所述控制反转容器接收第一类模块的对象请求,其中,所述第一类模块为所述多个类模块中任意一个类模块;所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块;所述控制反转容器向所述第二类模块发送生成请求,所述生成请求用于指示所述第二类模块生成目标对象;所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。如此,可以通过控制反转容器减弱车联网开发***中各个类模块之间的依赖性和耦合性,提高车联网开发***的灵活性,有利于提高车联网开发***的可维护性,提高用户体验度。
本申请的一种可能的实施例中,该解锁装置400还包括:指纹识别单元,用于如所述人脸图像与预设人脸模板匹配失败,启动指纹识别模组;获取指纹图像;将所述指纹图像与预设指纹模板进行匹配,在所述指纹图像与所述预设指纹模板匹配成功时,执行所述执行解锁操作的步骤。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和类模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种车联网开发***控制方法,其特征在于,应用于电子设备,所述电子设备包括控制反转容器和多个类模块,所述多个类模块与所述控制反转容器连接,所述方法包括:
所述控制反转容器接收第一类模块的对象请求,所述对象请求包括:目标对象类、目标注入方式,其中,所述第一类模块为所述多个类模块中任意一个类模块;
所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,包括:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块;
所述控制反转容器向所述第二类模块发送生成请求,所述生成请求包括:所述目标对象类、目标对象参数,所述生成请求用于指示所述第二类模块生成目标对象;
所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
2.根据权利要求1所述的方法,其特征在于,所述控制反转容器向所述第二类模块发送生成请求之后,还包括:
所述控制反转容器获取预设的类模块依赖关系;
所述控制反转容器依据所述类模块依赖关系确定所述第二类模块对应的第三类模块;
所述控制反转容器向所述第三类模块发送中间对象生成请求,接收所述第三类模块返回的中间对象生成响应,其中,所述中间对象生成响应包括:中间对象;
所述控制反转容器将所述中间对象注入所述第二类模块。
3.根据权利要1所述的方法,其特征在于,所述控制反转容器向所述第二类模块发送生成请求之前,还包括:
所述控制反转容器依据预设的对象类与参数的映射关系确定所述目标对象类对应的目标参数;
所述控制反转容器依据所述目标参数生成所述生成请求。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标对象注入所述第一类模块之后,还包括:
所述控制反转容器获取预设的销毁算法;
所述控制反转容器依据所述销毁算法对所述目标对象执行销毁操作。
5.根据权利要求1所述的方法,其特征在于,所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块之前,还包括:
所述控制反转容器获取预设的初始化算法;
所述控制反转容器依据所述初始化算法对所述控制反转容器执行初始化操作。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标对象注入所述第一类模块,包括:
所述控制反转容器从所述对象请求中确定目标注入方式;
所述控制反转容器依据预设的注入方式与注入函数的映射关系确定所述目标注入方式对应的目标注入函数;
所述控制反转容器调用所述目标注入函数将所述目标对象注入所述第一类模块。
7.一种车联网开发***控制装置,其特征在于,应用于电子设备,所述电子设备包括控制反转容器和多个类模块,所述多个类模块与所述控制反转容器连接,所述车联网开发***控制装置包括接收单元、确定单元、发送单元和执行单元,其中:
所述接收单元,用于所述控制反转容器接收第一类模块的对象请求,所述对象请求包括:目标对象类、目标注入方式,其中,所述第一类模块为所述多个类模块中任意一个类模块;
所述确定单元,用于所述控制反转容器依据所述对象请求在所述多个类模块中确定第二类模块,包括:所述控制反转容器从所述对象请求中获取目标对象类;依据预设的对象类与类模块的映射关系在所述多个类模块中确定与所述目标对象类对应的目标类模块为所述第二类模块;
所述发送单元,用于所述控制反转容器向所述第二类模块发送生成请求,所述生成请求包括:所述目标对象类、目标对象参数,所述生成请求用于指示所述第二类模块生成目标对象;
所述执行单元,用于所述控制反转容器接收所述第二类模块返回的目标对象,将所述目标对象注入所述第一类模块。
8.一种电子设备,其特征在于,包括处理器、存储器、通信设备以及一个或多个程序,处理器、存储器和通信设备相互连接,其中,通信设备用于与外部设备进行信息交互,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910778383.8A CN110597493B (zh) | 2019-08-22 | 2019-08-22 | 车联网开发***控制方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910778383.8A CN110597493B (zh) | 2019-08-22 | 2019-08-22 | 车联网开发***控制方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597493A CN110597493A (zh) | 2019-12-20 |
CN110597493B true CN110597493B (zh) | 2023-06-30 |
Family
ID=68855158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910778383.8A Active CN110597493B (zh) | 2019-08-22 | 2019-08-22 | 车联网开发***控制方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597493B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276271A (zh) * | 2007-03-29 | 2008-10-01 | 北京邮电大学 | 一种面向切面编程的******及方法 |
US9383976B1 (en) * | 2015-01-15 | 2016-07-05 | Xerox Corporation | Methods and systems for crowdsourcing software development project |
CN109683992A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 用于管理对象的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739526A (zh) * | 2017-10-30 | 2019-05-10 | 北京京东尚科信息技术有限公司 | 代码更新方法和装置 |
-
2019
- 2019-08-22 CN CN201910778383.8A patent/CN110597493B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276271A (zh) * | 2007-03-29 | 2008-10-01 | 北京邮电大学 | 一种面向切面编程的******及方法 |
US9383976B1 (en) * | 2015-01-15 | 2016-07-05 | Xerox Corporation | Methods and systems for crowdsourcing software development project |
CN109683992A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 用于管理对象的方法和装置 |
Non-Patent Citations (2)
Title |
---|
Castle下IOC的原理与实现;梁富有;;电脑知识与技术(13);全文 * |
Spring framework for rapid open source J2EE Web application development: a case study;J. Arthur et al.;Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Network;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110597493A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111885594B (zh) | 设备绑定方法及装置 | |
US20190007831A1 (en) | Communication method and device | |
CN107438832B (zh) | 一种数据刷新方法、装置及计算机可读存储介质 | |
CN112822678A (zh) | 一种服务化架构授权的方法 | |
CN110730459B (zh) | 一种近场通信认证的发起方法及相关装置 | |
CN106476754B (zh) | 一种机动车控制方法及装置 | |
CN109067883A (zh) | 信息推送方法及装置 | |
CN110597493B (zh) | 车联网开发***控制方法及相关产品 | |
CN113778590A (zh) | 远程协助方法、装置、电子设备及介质 | |
CN111131358B (zh) | 信息获取方法、装置、***、可读存储介质及电子设备 | |
CN112559082A (zh) | 终端设备及nfc时钟控制方法、nfc模块、介质 | |
CN114449657A (zh) | 策略关联的建立方法及装置、终端及网络侧设备 | |
CN104331649A (zh) | 基于网络连接的身份识别***及方法 | |
US9079309B2 (en) | Terminal positioning method and system, and mobile terminal | |
CN111615080A (zh) | 车载智能终端的应用方法、装置、计算机设备和存储介质 | |
CN113225234B (zh) | 资产探测方法、装置、终端设备以及计算机可读存储介质 | |
CN115230635A (zh) | 远程控制车门解锁方法及装置 | |
CN109104775A (zh) | 连接停车桩的方法及装置 | |
CN111159509B (zh) | 数据处理方法及相关产品 | |
CN107453864B (zh) | 一种安全验证方法和*** | |
CN109889345B (zh) | 数据处理方法、装置、用户终端、管理平台和服务设备 | |
CN110377272B (zh) | 一种基于tbox的sdk的实现方法及装置 | |
CN114585055A (zh) | 车载WiFi接入方法、车辆控制器、云端服务器及移动终端 | |
CN110769397B (zh) | 机器人连接网络的方法、装置及终端设备 | |
CN113535632A (zh) | 蜜罐***、攻击信息捕获方法与存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |