CN106681718A - 一种基于工具集的桌面端插件框架及实现方法 - Google Patents
一种基于工具集的桌面端插件框架及实现方法 Download PDFInfo
- Publication number
- CN106681718A CN106681718A CN201611170712.3A CN201611170712A CN106681718A CN 106681718 A CN106681718 A CN 106681718A CN 201611170712 A CN201611170712 A CN 201611170712A CN 106681718 A CN106681718 A CN 106681718A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- card
- program
- interface
- 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.)
- Pending
Links
Classifications
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/445—Program loading or initiating
- G06F9/44594—Unloading
Abstract
本发明涉及桌面客户端的工具插件的开发方法,特别是涉及一种基于工具集的桌面端插件框架及实现方法,开发者在该模式下遵循插件开发规范,基于开发环境提供的基础二次开发库,即可快速扩展所需桌面端工具插件,并发布为通用的云服务。本发明的一种基于工具集的桌面端插件框架,其包括宿主程序模块、第三方界面库模块、插件引擎模块和插件程序集模块,本发明采用的“框架+插件”的开发模式具有开发简易、低耦合、高复用、高效率、通用性高、易迁移、易聚合等特性,本发明开发出来的工具插件具有任意纵生、自由聚合、迁移方便、易于重构等特点,全面满足软件开发者对云环境下软件开发的新需求。
Description
技术领域
本发明涉及桌面客户端的工具插件的开发方法,特别是涉及一种基于工具集的桌面端插件框架及实现方法,开发者在该模式下遵循插件开发规范,基于开发环境提供的基础二次开发库,即可快速扩展所需桌面端工具插件,并发布为通用的云服务。
背景技术
云计算是虚拟化、效用计算、基础设施即服务、平台即服务、软件即服务等概念混合演进及跃升的结果,云计算时代是必然趋势,“云服务”作为一种新兴的共享基础架构的方法已经越来越广泛的应用于信息领域。云计算技术将连接到互联网的PC、数据库、服务器、甚至包括昂贵的科学仪器连接到一起,并将空闲计算能力、存储空间等利用起来。用户通过互联网访问云计算平台获得需要的信息服务,而不必考虑提供这些信息服务的具体的硬件设施、操作系统等支持环境,从而实现了广泛的多源异构信息资源的充分共享。随着云计算理念的提出及深化,软件应用终端向着微型化、移动化方向发展,同时服务器端向着基于跨平台的、面向服务的产品体系及架构并支持小型机、大型机、集群等应用的巨型化方向发展。
传统的软件开发模式偏向于定制开发,功能设计与应用对象一一对应。开发的应用只为满足某一特定对象的使用,不具备通用性,耦合性很强。功能之间并未相互独立,代码冗余,复用率也不高。对当新应用与旧应用有一定的相似度时,最常采用的方法就是基于已有应用进行修改,或者直接将代码拷贝、调试、修改,由此带来了应用工程越来越大、Bug越来越多、软件开发效率极度低下,开发出的软件往往存在很多不可预见的问题。因此,在传统软件开发应用中,体现了传统开发模式下存在开发复杂、耦合性强、复用性差、成本高、效率低等问题。
发明内容
为解决上述问题,本发明提供了一种基于工具集的桌面端插件框架及实现方法,本发明采用的“框架+插件”的开发模式具有开发简易、低耦合、高复用、高效率等特性。
为实现以上发明目的,本发明一种基于工具集的桌面端插件框架,其不同之处在于:其包括以下模块:
宿主程序模块:宿主程序是整个插件开发框架运行的入口,它通过插件引擎加载插件对象,并将插件对象以用户界面(UI)的形式来展示,以及负责协调这些插件对象与界面控件间的交互;
第三方界面库模块(Dxp):第三方界面库提供界面控件对象,被宿主程序调用来实现与插件对象间的交互;
插件引擎模块:插件引擎负责解析插件程序集,提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象;插件引擎提供一种通讯契约,即插件接口;插件程序集如果实现了上述插件接口,就能被插件引擎认可为合格的插件;插件引擎提供一个插件容器(PluginContainer),负责管理插件的加载、卸载状态控制;插件引擎提供一个运行框架(Application),负责管理插件引擎运行状态、与插件程序集间的交互以及与地图数据(MapDocument)交互。
所述插件容器(PluginContainer)通过从插件程序集(Plugin….dll)中获取插件对象,分别装入对应的插件容器(PluginContainer)中,实现插件的加载;从插件容器(PluginContainer)中删除插件对象,实现插件的卸载;
插件程序集模块:实现了插件引擎定义的插件契约的应用程序集,是基于.NET框架的应用功能的主体实现。
以上方案中,所述宿主程序模块负责了界面的解析、加载、运行、保存过程,其启动过程必须满足用户的配置性和嵌入性需求,宿主程序的启动、关闭过程大概分为如下几个步骤:
步骤301:加载内部Application.xml文件,根据XML初始化系统属性,并且加载欢迎屏(如果存在欢迎屏则加载,否则不加载);
步骤302: 判断是否存在配置文件(exe.config文件),如果不存在,则将Application.xml的内容赋值给新文档RealDoc,否则将配置文件exe.config的内容赋值给新文档RealDoc;
步骤303:根据新文档来修订系统属性、创建插件对象、创建界面、发送事件;
步骤304:宿主程序启动完成(如果前面加载了欢迎屏,关闭欢迎屏);
步骤305:宿主程序关闭,宿主程序需要保存用户界面以备下次启动应用程序,它将会保存用户当前的所有设置,待下次启动时则根据配置文件初始化为上次保存的界面。
上述方案中,插件的加载包括以下步骤:
步骤501:插件容器(PluginContainer)加载插件程序集(Plugin….dll)。若之前未加载插件,则将插件程序集(Plugin….dll)插入到插件程序集列表末尾;
步骤502:插件容器(PluginContainer)创建所有实现了IPlugin接口的对象,并将每个对象添加到相应的插件词典中;
步骤503:宿主程序(Apploader.exe)处理PluginAdded事件来创建界面并发送PluginLoadedEvent事件 。
上述方案中,所述插件的卸载包括以下步骤:
步骤601:插件容器(PluginContainer)卸载插件程序集(Plugin….dll),若插件未卸载,则将插件程序集(Plugin….dll)从插件程序集列表中移除;
步骤602:删除插件容器(PluginContainer)中所有实现了IPlugin接口的对象,并将每个对象从相应的插件词典中移除;
步骤603:宿主程序处理PluginRemoved事件来删除界面并发送PluginUnLoadedEvent事件。
一种基于工具集的桌面端插件框架的实现方法,其包括以下步骤:
步骤1):配置开发环境。将开发所需的集成开发环境、开发者授权许可文件、开发框架文件等下载到PC端,实现一键部署;
步骤2):开发/调试:在遵循插件契约的前提下,用户按照接口说明在配置好的开发环境中调用已有的插件,实现插件接口,并按照用户的个性需求编写相应的代码完成整个插件的开发,生成一个合格的插件;
步骤3):测试:开发者进行插件测试并按照进行测试结果的填写,插件测试通过后进入下一步骤;
步骤4):发布:测试通过的插件,发布在插件程序集中,供插件容器加载、运行;
步骤5):提交:插件引擎提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象。
对比现有技术,本发明的有益特点如下:
本发明采用的“框架+插件”的开发模式具有开发简易、低耦合、高复用、高效率、通用性高、易迁移、易聚合等特性。
本发明开发出来的工具插件具有任意纵生、自由聚合、迁移方便、易于重构等特点,全面满足软件开发者对云环境下软件开发的新需求。
附图说明
图1为基于工具集的桌面端插件开发模式;
图2为桌面端插件的开发中间件示意图;
图3为桌面端插件的开发步骤图
图4为宿主程序启动、关闭的流程图;
图5为插件的动态加载实现原理;
图6为插件的加载步骤;
图7为插件的卸载步骤,插件的卸载与加载相反;
图8为插件运行框架。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
工具框架又称插件框架等,读者可以简单理解为在开发GIS桌面应用时,MapGIS已从一开始就为开发者准备好了这一框架,剩下的工作即是基于预置的工具插件往该框架里添加插件即可,即“框架+插件”开发模式。
工具插件,是一种基于.NET Framework框架,并遵循目标框架通讯契约(纯接口定义)的应用程序集,其在操作系统里表现为“.dll文件”。
工具集是一组工具软件的集合,包含应用工具、插件工具等,即包含.exe文件,也包含.dll文件,每一个都是绿色小软件,开发者可以重新提取并通过聚合等方式制作自己的工具插件。
本发明一种基于工具集的桌面端插件开发方法,该开发模式提供插件扩展框架,开发者在该环境中遵循插件开发规范,基于开发环境提供的基础二次开发库,即可快速扩展所需桌面端插件,并可以发布为云服务。
该种开发模式完全按照云的思想构建,针对.NET平台版本的桌面端,提出了一套通用的桌面端开发标准与规范,遵循此标准规范开发桌面工具与工具插件,开发出来的工具插件可以自由组合、重构、聚合等,保证了所开发的平台软件的重构、聚合、迁移、纵生的特性。
本发明的技术方案包括第三方界面库、宿主程序、插件引擎、插件程序集四大模块。
上述第三方界面库提供界面控件对象,被宿主程序调用来实现与插件对象间的交互;
上述宿主程序是整个插件开发框架运行的入口,它通过插件引擎加载插件对象,并将插件对象以用户界面(UI)的形式来展示,以及负责协调这些插件对象与界面控件间的交互;
上述插件引擎负责解析插件程序集,提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象;
进一步地,插件引擎提供一种通讯契约,即插件接口,插件程序集只要实现了这些接口,就能被插件引擎认可为合格的插件;
进一步地,插件引擎提供一个插件容器(PluginContainer),负责管理插件的加载、卸载等状态控制;
进一步地,插件引擎提供一个运行框架(Application),负责管理插件引擎运行状态、与插件程序集间的交互以及与地图数据(MapDocument)交互。
上述插件程序集是实现了插件引擎定义的插件契约的应用程序集,是基于.NET框架的应用功能的主体实现。
图1为基于云计算的桌面端插件开发模式。
基于云计算的桌面端插件开发模式,实质是“框架+插件”的开发模式,首先提供功能完备的插件框架(开发环境),以及预置一些基础和专业领域常用的工具插件,以供开发者灵活调用、配置。从宏观上看,桌面端插件开发模式如图1所示。
图2为桌面端插件开发中间件示意图,该中间件提供插件扩展框架,开发者在该环境中遵循插件开发规范,基于开发环境提供的基础二次开发库,即可快速扩展所需桌面端插件,并可以发布为云服务。开发中间件包括以下模块:
宿主程序模块:宿主程序是整个插件开发框架运行的入口,它通过插件引擎加载插件对象,并将插件对象以用户界面(UI)的形式来展示,以及负责协调这些插件对象与界面控件间的交互;
第三方界面库模块(Dxp):第三方界面库提供界面控件对象,被宿主程序调用来实现与插件对象间的交互;
插件引擎模块:插件引擎负责解析插件程序集,提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象;插件引擎提供一种通讯契约,即插件接口,插件程序集只要实现了这些接口,就能被插件引擎认可为合格的插件;插件引擎提供一个插件容器(PluginContainer),负责管理插件的加载、卸载等状态控制;插件引擎提供一个运行框架(Application),负责管理插件引擎运行状态、与插件程序集间的交互以及与地图数据(MapDocument)交互。
所述插件容器(PluginContainer)通过从插件程序集(Plugin….dll)中获取插件对象,分别装入对应的插件容器(PluginContainer)中,实现插件的加载;从插件容器(PluginContainer)中删除插件对象,实现插件的卸载。
插件程序集模块:插件程序集是实现了插件引擎定义的插件契约的应用程序集,是基于.NET框架的应用功能的主体实现。
图3为桌面端插件的开发步骤图,即图2插件程序集模块中的插件的开发步骤。
本技术方案提供给用户的开发工具基本是由可定制框架和若干插件组成,同一框架下的插件可以是由不同的开发者提供,因此本开发模式可以基于已有的框架开发各类业务插件。
一种基于工具集的桌面端插件框架的实现或开发方法,其包括以下步骤:
步骤1):配置开发环境。将开发所需的集成开发环境、开发者授权许可文件、开发框架文件等下载到PC端,实现一键部署;
步骤2):开发/调试:在遵循插件契约的前提下,用户按照接口说明在配置好的开发环境中调用已有的插件,实现插件接口,并按照用户的个性需求编写相应的代码完成整个插件的开发,生成一个合格的插件;
步骤3):测试:开发者进行插件测试并按照进行测试结果的填写,插件测试通过后进入下一步骤;
步骤4):发布:测试通过的插件,发布在插件程序集中,供插件容器加载、运行;
步骤5):提交:插件引擎提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象。
图4为宿主程序启动、关闭的流程图。
宿主程序负责了界面的解析、加载、运行、保存过程,其启动过程必须满足用户的配置性和嵌入性需求,宿主程序的启动、关闭过程大概分为如下几个步骤:
步骤301:加载内部Application.xml文件,根据XML初始化系统属性,并且加载欢迎屏(如果存在欢迎屏则加载,否则不加载);
步骤302: 判断是否存在配置文件(exe.config文件),如果不存在,则将Application.xml的内容赋值给新文档RealDoc,否则将配置文件exe.config的内容赋值给新文档RealDoc;
步骤303:根据新文档来修订系统属性、创建插件对象、创建界面、发送事件;
步骤304:宿主程序启动完成(如果前面加载了欢迎屏,关闭欢迎屏);
步骤305:宿主程序关闭,宿主程序需要保存用户界面以备下次启动应用程序,它将会保存用户当前的所有设置,待下次启动时则根据配置文件初始化为上次保存的界面。
图5是插件的动态加载实现原理。
插件的动态加载可以通过.NET Framework的反射机制来实现。反射是动态发现类型信息的一种能力,它类似后期绑定,帮助开发人员在程序运行时利用一些信息动态地使用类型。在.NET Framework中,为了实现动态加载,提供了Assembly,Type和Activator等类和相关方法。
图6是插件的加载步骤。
步骤501:插件容器(PluginContainer)加载插件程序集(Plugin….dll)。若之前未加载插件,则将插件程序集(Plugin….dll)插入到插件程序集列表末尾;
步骤502:插件容器(PluginContainer)创建所有实现了IPlugin接口的对象,并将每个对象添加到相应的插件词典中;
步骤503:宿主程序(Apploader.exe)处理PluginAdded事件来创建界面并发送PluginLoadedEvent事件 。
图7是插件的卸载步骤,插件的卸载与加载相反。
步骤601:插件容器(PluginContainer)卸载插件程序集(Plugin….dll),若插件未卸载,则将插件程序集(Plugin….dll)从插件程序集列表中移除;
步骤602:删除插件容器(PluginContainer)中所有实现了IPlugin接口的对象,并将每个对象从相应的插件词典中移除;
步骤603:宿主程序处理PluginRemoved事件来删除界面并发送PluginUnLoadedEvent事件。
图8是插件运行框架(Application),负责管理插件引擎运行状态和与插件程序集(Plugin….dll)间的交互。
Claims (5)
1.一种基于工具集的桌面端插件框架,其不同之处在于:其包括以下模块:
宿主程序模块:宿主程序是整个插件开发框架运行的入口,它通过插件引擎加载插件对象,并将插件对象以用户界面(UI)的形式来展示,以及负责协调这些插件对象与界面控件间的交互;
第三方界面库模块(Dxp):第三方界面库提供界面控件对象,被宿主程序调用来实现与插件对象间的交互;
插件引擎模块:插件引擎负责解析插件程序集,提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象;插件引擎提供一种通讯契约,即插件接口;插件程序集如果实现了上述插件接口,就能被插件引擎认可为合格的插件;插件引擎提供一个插件容器(PluginContainer),负责管理插件的加载、卸载状态控制;插件引擎提供一个运行框架(Application),负责管理插件引擎运行状态、与插件程序集间的交互以及与地图数据(MapDocument)交互,所述插件容器(PluginContainer)通过从插件程序集(Plugin….dll)中获取插件对象,分别装入对应的插件容器(PluginContainer)中,实现插件的加载;从插件容器(PluginContainer)中删除插件对象,实现插件的卸载;
插件程序集模块:实现了插件引擎定义的插件契约的应用程序集,是基于.NET框架的应用功能的主体实现。
2.根据权利要求1所述的一种基于工具集的桌面端插件框架,其中所述宿主程序模块负责了界面的解析、加载、运行、保存过程,其启动过程必须满足用户的配置性和嵌入性需求,宿主程序的启动、关闭过程大概分为如下几个步骤:
步骤301:加载内部Application.xml文件,根据XML初始化系统属性,并且加载欢迎屏(如果存在欢迎屏则加载,否则不加载);
步骤302: 判断是否存在配置文件(exe.config文件),如果不存在,则将Application.xml的内容赋值给新文档RealDoc,否则将配置文件exe.config的内容赋值给新文档RealDoc;
步骤303:根据新文档来修订系统属性、创建插件对象、创建界面、发送事件;
步骤304:宿主程序启动完成(如果前面加载了欢迎屏,关闭欢迎屏);
步骤305:宿主程序关闭,宿主程序需要保存用户界面以备下次启动应用程序,它将会保存用户当前的所有设置,待下次启动时则根据配置文件初始化为上次保存的界面。
3.根据权利要求1所述的一种基于工具集的桌面端插件框架,其中插件的加载包括以下步骤:
步骤501:插件容器(PluginContainer)加载插件程序集(Plugin….dll),若之前未加载插件,则将插件程序集(Plugin….dll)插入到插件程序集列表末尾;
步骤502:插件容器(PluginContainer)创建所有实现了IPlugin接口的对象,并将每个对象添加到相应的插件词典中;
步骤503:宿主程序(Apploader.exe)处理PluginAdded事件来创建界面并发送PluginLoadedEvent事件 。
4.根据权利要求1所述的一种基于工具集的桌面端插件框架,其中所述插件的卸载包括以下步骤:
步骤601:插件容器(PluginContainer)卸载插件程序集(Plugin….dll),若插件未卸载,则将插件程序集(Plugin….dll)从插件程序集列表中移除;
步骤602:删除插件容器(PluginContainer)中所有实现了IPlugin接口的对象,并将每个对象从相应的插件词典中移除;
步骤603:宿主程序处理PluginRemoved事件来删除界面并发送PluginUnLoadedEvent事件。
5.一种基于工具集的桌面端插件框架的实现方法,其包括以下步骤:
步骤1):配置开发环境:将开发所需的集成开发环境、开发者授权许可文件、开发框架文件等下载到PC端,实现一键部署;
步骤2):开发/调试:在遵循插件契约的前提下,用户按照接口说明在配置好的开发环境中调用已有的插件,实现插件接口,并按照用户的个性需求编写相应的代码完成整个插件的开发,生成一个合格的插件;
步骤3):测试:开发者进行插件测试并按照进行测试结果的填写,插件测试通过后进入下一步骤;
步骤4):发布:测试通过的插件,发布在插件程序集中,供插件容器加载、运行;
步骤5):提交:插件引擎提取插件程序集中的插件类型信息,并提交给宿主程序生成对应的界面对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611170712.3A CN106681718A (zh) | 2016-12-16 | 2016-12-16 | 一种基于工具集的桌面端插件框架及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611170712.3A CN106681718A (zh) | 2016-12-16 | 2016-12-16 | 一种基于工具集的桌面端插件框架及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106681718A true CN106681718A (zh) | 2017-05-17 |
Family
ID=58869912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611170712.3A Pending CN106681718A (zh) | 2016-12-16 | 2016-12-16 | 一种基于工具集的桌面端插件框架及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106681718A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182057A (zh) * | 2018-01-30 | 2018-06-19 | 深圳市富途网络科技有限公司 | 一种基于扩展和插件方式的软件架构设计系统 |
CN109213550A (zh) * | 2017-07-07 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 内嵌应用的交互实现方法、装置、设备和可读存储介质 |
WO2019029451A1 (zh) * | 2017-08-08 | 2019-02-14 | 上海连尚网络科技有限公司 | 发布移动应用的方法和电子设备 |
CN110399175A (zh) * | 2018-04-12 | 2019-11-01 | 深圳前海康博士网络技术有限公司 | 用户界面加载方法、装置、终端及计算机可读存储介质 |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
CN113157333A (zh) * | 2021-03-25 | 2021-07-23 | 中国电子科技集团公司第二十九研究所 | 一种新型态势标绘插件前端集成架构 |
CN113485769A (zh) * | 2021-07-23 | 2021-10-08 | 统信软件技术有限公司 | 一种应用程序运行方法、计算设备及存储介质 |
CN114116069A (zh) * | 2021-12-07 | 2022-03-01 | 厦门星火相连教育科技有限公司 | 一种java系统不间断运行方法、系统、存储介质 |
CN116661756A (zh) * | 2023-07-24 | 2023-08-29 | 浩鲸云计算科技股份有限公司 | 一种基于低代码dsl的对象解析方法及装置 |
CN112559026B (zh) * | 2020-12-23 | 2024-05-14 | 南方电网数字平台科技(广东)有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的系统及其方法 |
CN104239037A (zh) * | 2014-08-25 | 2014-12-24 | 中国电子科技集团公司第二十九研究所 | 一种业务功能可重构的软件框架 |
-
2016
- 2016-12-16 CN CN201611170712.3A patent/CN106681718A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的系统及其方法 |
CN104239037A (zh) * | 2014-08-25 | 2014-12-24 | 中国电子科技集团公司第二十九研究所 | 一种业务功能可重构的软件框架 |
Non-Patent Citations (1)
Title |
---|
周本东: ""基于.NET的插件式GIS框架设计及应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213550A (zh) * | 2017-07-07 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 内嵌应用的交互实现方法、装置、设备和可读存储介质 |
WO2019029451A1 (zh) * | 2017-08-08 | 2019-02-14 | 上海连尚网络科技有限公司 | 发布移动应用的方法和电子设备 |
CN108182057A (zh) * | 2018-01-30 | 2018-06-19 | 深圳市富途网络科技有限公司 | 一种基于扩展和插件方式的软件架构设计系统 |
CN110399175A (zh) * | 2018-04-12 | 2019-11-01 | 深圳前海康博士网络技术有限公司 | 用户界面加载方法、装置、终端及计算机可读存储介质 |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
CN112559026B (zh) * | 2020-12-23 | 2024-05-14 | 南方电网数字平台科技(广东)有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
CN113157333B (zh) * | 2021-03-25 | 2022-09-02 | 中国电子科技集团公司第二十九研究所 | 一种态势标绘插件前端集成系统 |
CN113157333A (zh) * | 2021-03-25 | 2021-07-23 | 中国电子科技集团公司第二十九研究所 | 一种新型态势标绘插件前端集成架构 |
CN113485769A (zh) * | 2021-07-23 | 2021-10-08 | 统信软件技术有限公司 | 一种应用程序运行方法、计算设备及存储介质 |
CN113485769B (zh) * | 2021-07-23 | 2024-05-14 | 统信软件技术有限公司 | 一种应用程序运行方法、计算设备及存储介质 |
CN114116069A (zh) * | 2021-12-07 | 2022-03-01 | 厦门星火相连教育科技有限公司 | 一种java系统不间断运行方法、系统、存储介质 |
CN116661756A (zh) * | 2023-07-24 | 2023-08-29 | 浩鲸云计算科技股份有限公司 | 一种基于低代码dsl的对象解析方法及装置 |
CN116661756B (zh) * | 2023-07-24 | 2023-10-27 | 浩鲸云计算科技股份有限公司 | 一种基于低代码dsl的对象解析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681718A (zh) | 一种基于工具集的桌面端插件框架及实现方法 | |
CN106970873B (zh) | 线上mock测试方法、装置及系统 | |
US20040158577A1 (en) | System and method for cross platform and configuration build system | |
CN104199723B (zh) | 基于虚拟设备的摄像头映射方法 | |
CN105302721A (zh) | 云计算平台中实现集中模拟服务器集成测试的系统及方法 | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN107861742A (zh) | 一种程序的运行方法和终端设备 | |
CN107608663A (zh) | 一种移动应用插件及移动应用的开发方法及装置 | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN109150956A (zh) | 一种推送sdk的实现方法、装置、设备和计算机存储介质 | |
CN107179903B (zh) | 用于使用模型驱动开发来开发基于移动的应用的系统和方法 | |
CN111949491A (zh) | MyBatis应用程序的SQL提取方法及装置 | |
CN111506368A (zh) | 对异步调用转同步调用的方法、装置、设备及存储介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN114610598A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN109284222B (zh) | 软件单元、数据处理系统中的项目测试方法、装置及设备 | |
CN113918637A (zh) | 一种基于bpmn2.0规范的流程引擎平台创建方法及系统 | |
US10579342B1 (en) | Encapsulated application templates for containerized application software development | |
CN106775916B (zh) | 减小应用安装包的方法、装置及电子设备 | |
CN113760733A (zh) | 一种单元测试方法和装置 | |
CN110955415A (zh) | 一种投影多平台服务适配的方法 | |
EP1665043A2 (en) | Method and apparatus for continuation-passing in a virtual machine | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN110825452A (zh) | 一种多云管理的云服务适配模块管理方法 | |
CN110413285A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |