[发明专利]用于大型复杂Windows原生桌面开发的方法及系统有效
申请号: | 202211134033.6 | 申请日: | 2022-09-19 |
公开(公告)号: | CN115237386B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 王冬;高扬;张俊九 | 申请(专利权)人: | 杭州实在智能科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/70 |
代理公司: | 浙江永鼎律师事务所 33233 | 代理人: | 周希良 |
地址: | 310000 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 大型 复杂 windows 原生 桌面 开发 方法 系统 | ||
1.用于大型复杂Windows原生桌面开发的方法,其特征在于,包括如下步骤:
S1,创建开发项目,引入底层基础库和功能库;
S2,注册模块管理容器;
S3,将业务模块进行拆分和抽象,对每个业务模块形成抽象层,并通过动态模块组装方式,完成业务模块的选择和加载;
S4,对开发项目中的任务进行分配,并通过热插拔方式对外提供接口;
S5,配置业务模块信息,将设备型号与业务模块的对应关系进行存储;
S6,通过当前设备型号,检索业务模块文件清单,并进行业务模块文件下载,下载后读取业务模块文件并加载到程序内,最终使程序开始运行;
步骤S3包括如下步骤:
S31,每个业务模块均包括新版模块和旧版模块;将每个业务模块的新旧两种场景的业务接口进行抽象,得到抽象层;
S32,新版模块和旧版模块分别具有新代码和旧代码,通过新代码和旧代码分别将新版模块和旧版模块与抽象层连接;
S33,将新旧两套代码进行单独打包,形成一新一旧两个程序集文件,并存储到指定位置数据库或者本地文件夹,获得新旧两个版本软件;
S34,旧版软件通过旧版关键字获取到旧版模块对应的程序集文件相关信息,同时将旧版程序集文件加载到程序中,通过反射创建抽象层的实例,所述实例为旧版模块的实例;
S35,新版软件通过新版关键字获取到新版模块对应的程序集文件相关信息,同时将新版程序集文件加载到程序中,通过反射创建抽象层的实例,所述实例为新版模块的实例;
步骤S4包括如下步骤:
S41,指定需要更新的业务模块,并卸载所述业务模块所在的应用程序域;
S42,下载所述业务模块中新版的程序集文件生成新版业务模块,并创建新的应用程序域承载新版业务模块;
S43,将新版业务模块扩展至模块管理容器,并加载新版业务模块;
其中,每个应用程序域都是隔离的,用于单独进行创建,加载和卸载。
2.根据权利要求1所述的用于大型复杂Windows原生桌面开发的方法,其特征在于,步骤S4中,对于托管模块使用应用程序域进行调用,对于非托管模块使用COM接口调用;所述托管模块为运行于CLR公共语言运行时环境的模块。
3.根据权利要求2所述的用于大型复杂Windows原生桌面开发的方法,其特征在于,步骤S41中,设定卸载的应用程序域为旧版应用程序域;所述旧版应用程序域中承载旧版业务模块;所述旧版业务模块对应的旧版程序集文件解除占用并删除。
4.根据权利要求3所述的用于大型复杂Windows原生桌面开发的方法,其特征在于,步骤S35中所述程序集文件相关信息包括程序集文件的名称和类别。
5.用于大型复杂Windows原生桌面开发的系统,用于实现权利要求1-4任一项所述的用于大型复杂Windows原生桌面开发的方法,其特征在于,所述用于大型复杂Windows原生桌面开发的系统包括:
框架引入模块,用于创建开发项目,引入底层基础库和功能库;
模块管理容器注册模块,用于注册模块管理容器;
动态模块组装模块,用于将业务模块进行拆分和抽象,对每个业务模块形成抽象层,并通过动态模块组装方式,完成业务模块的选择和加载;
热插拔模块,对开发项目中的任务进行分配,并通过热插拔方式对外提供接口;
信息配置模块,用于配置业务模块信息,将设备型号与业务模块的对应关系进行存储;
文件下载和运行模块,用于通过当前设备型号,检索业务模块文件清单,并进行业务模块文件下载,下载后读取业务模块文件并加载到程序内,最终使程序开始运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州实在智能科技有限公司,未经杭州实在智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211134033.6/1.html,转载请声明来源钻瓜专利网。