The invention discloses an application program development method based on dynamic loading components. The system of the invention relates to the installation folder resource layout of the software, the components under the specified directory are loaded when the software is started, and the components are run after the software is started to complete the model and system of the software function. Based on this system, the components can be loaded dynamically (i.e. the components can be loaded in the specified directory after the software is running), unloaded and disabled, so that the software can add small functions or update subcomponents during the later update, so as to minimize the overall impact on the software. Moreover, this component is project independent, and can be developed by multiple people, running independently and testing in a single way Try to improve the speed and quality of software development. The application developed with this development model and system can be said to be composed of components.
【技术实现步骤摘要】
一种基于动态加载组件的应用程序开发方法
本专利技术涉及应用程序组件开发模型,具体的说是涉及一种基于动态加载组件的应用程序开发方法。
技术介绍
常规的应用程序开发模型就是一个项目下,软件开发人员同时在这个项目下进行增改功能。这种开发模型导致多人开发项目时容易造成同时编辑某个功能而造成冲突,当某个功能出问题时,庞大的项目代码会定位问题困难,有可能在底层,界面或存储方面出问题,出问题时只能层层回退找问题,浪费时间不止,修复某个问题也很容易导致关联的部分也出问题,由于是项目关联到的功能多,也导致无法只对某个功能进行测试和运行。在开发大型软件的时,软件在迭代的过程中往往需要增改功能。在以往的项目中,增加功能时必须连整个项目一起编译打包才能运行,不相关的功能如果编译不过,或者依赖的功能出问题,那么需要改动的功能就无法运行。影响开发效率的而还有漫长的编译时间,资源图片只要某个功能需要都得统一加载,即使其他功能不使用。这样不仅会浪费计算资源,还会导致软件启动慢。项目只有一份代码,也无法分开功能独立开发,在一些涉及到公司核心技术的地方也很难隐藏不让非核心人员查看。在这种情况下,需要一个先进的开发模型和系统来满足项目日益增大的引起的开发效率,软件质量,软件保密性的要求。现有的标准技术就是微软提供的把独立功能打包为动态库,通过加载动态库的方式来加载模块。现有技术的缺点体现在以下几点:1、动态库接口的不固定性,往往随着功能的增加和删减,需要重新编译动态库的接口,而调用这个动态库的地方也需要重新编译和修 ...
【技术保护点】
1.一种基于动态加载组件的应用程序开发方法,其特征在于,该应用程序开发方法包括以下步骤:/n步骤一,创建组件;/n创造至少一个组件,组件设有多个核心部分,该组件核心部分分成3个部分;/n第一部分,组件配置信息文件:存储了组件的信息→组件类型→库文件路径→组件ID→组件版本→组件加载后执行的创建的命令标识→组件接收的命令数组标识和组件发送的命令数组;/n第二部分,组件库文件:动态库文件→组件的逻辑编译为动态库,这个动态库只导出一个组件导出函数接口,在组件的库文件加载后,会调用这个接口进行组件初始化;/n第三部分,组件资源目录:在和配置文件、库文件同目录下,带一个资源目录,里面存储组件用的图片,配置参数文件等组件运行的资源;/n步骤二,创建平台;/n将平台建立后,平台是系统中的核心,由它来管理组件的生命周期,还有对内置组件加载和管理,以便让整个系统先运行起来;一些关键的平台逻辑由平台实现并转发命令到组件;/n步骤三,加载组件;/n创造后的组件都依赖一个统一的应用程序平台管理和加载,所述平台通过检索内置目录查找所有符合规则的组件,并加载和进行调用组件导出函数接口的初始化操作;对于外部组件,通 ...
【技术特征摘要】
1.一种基于动态加载组件的应用程序开发方法,其特征在于,该应用程序开发方法包括以下步骤:
步骤一,创建组件;
创造至少一个组件,组件设有多个核心部分,该组件核心部分分成3个部分;
第一部分,组件配置信息文件:存储了组件的信息→组件类型→库文件路径→组件ID→组件版本→组件加载后执行的创建的命令标识→组件接收的命令数组标识和组件发送的命令数组;
第二部分,组件库文件:动态库文件→组件的逻辑编译为动态库,这个动态库只导出一个组件导出函数接口,在组件的库文件加载后,会调用这个接口进行组件初始化;
第三部分,组件资源目录:在和配置文件、库文件同目录下,带一个资源目录,里面存储组件用的图片,配置参数文件等组件运行的资源;
步骤二,创建平台;
将平台建立后,平台是系统中的核心,由它来管理组件的生命周期,还有对内置组件加载和管理,以便让整个系统先运行起来;一些关键的平台逻辑由平台实现并转发命令到组件;
步骤三,加载组件;
创造后的组件都依赖一个统一的应用程序平台管理和加载,所述平台通过检索内置目录查找所有符合规则的组件,并加载和进行调用组件导出函数接口的初始化操作;对于外部组件,通过查找软件的配置选项来查找外部组件的目录,并进行加载;加载过的组件存储在组件管理器里,组件管理器存储使用命令观察者的模型存储,通过字符串命令名称关联所能接收该命令的组件,当有某个模块发送命令广播时,监听的观察者组件会收该消息,没有监听的观察者组件不会得到通知;
步骤四,组件初始化;
所述平台通过调用库文件里的组件导出函数接口进行组件初始化,该函数的原型是通过传递一个参数“基本数据对象”通用类型来传递平台的初始化数据;
步骤五,调用组件;
所述组件通过在组件配置信息文件里声明的发送命令进行消息传递,组件命令先经过平台进行识别判断,当找到有能够处理该命令的其他组件时,就会转发消息到其他组件中;
所述组件通过传递标准数据类型基本数据对象或者通过把通讯数据填充到基本数据对象参数里进行传输;
步骤六,禁用组件;
当系统禁用一个组件时,会在组件管理器里把该组件设置为禁用,被禁用的组件不会收到其他组件发送的消息,该组件发送的消息也会在平台...
【专利技术属性】
技术研发人员:戴辉,邓波,陈顺妮,
申请(专利权)人:深圳市七星石科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。