1、该框架为微内核+插件的架构,该设计旨在提高软件的稳定性,可维护性,提高开发效率。
2、微内核可以自动识别和加载插件,以及什么时候该关闭插件,关闭内核退出。
3、所有的插件都只能看到微内核框架,可以通过插件指针隐藏内核加载等细节,这样可以更方便按照插件接口使用插件。
4、插件可以通过内核框架将想要异步执行的任务压入框架,由框架帮你统一管理。
5、该内核框架是基于VS2015开发的,支持XP,使用的C++标准为C++ 11。如果你想要支持更低的C++标准,可以直接拿去换个VS2010编译,根据错误指导,修改即可。
6、该框架旨在分离业务插件为目的,不管是UI,还是业务功能模块,均可以设计为动态插件,插入到框架中。UI插件可以参考框架内的例子。
微内核 + 插件
1、下载该项目,根据你的需求使用不同的平台编译(VS2010,VS2015...)之,这里使用的是VS2015_xp平台编译的。
2、内核是独立的应用程序,拥有独立的EXE,他负责自动扫描特定位置(Plugin目录)的所有插件并加载到系统中运行。
3、所有可以被内核识别的插件,都需要按照特定的规则设计。这里的插件规则在系统接口工程下,具体的插件设计,可以参照框架中已有的插件。
4、微内核的配置可以在EXE所在目录下找到MicroCore文件,对微内核进行配置修改,修改项包括是否需要调试内核,线程池大小等。
5、开发完成的插件需要扔在EXE所在目录下的Plugin目录下,并以插件为名创建自己的插件目录,将插件放在下面即可。
6、内核管理线程使用,所有外围插件都可以通过内核框架接口将要使用线程执行的模块,变成内核任务交给内核负责调度任务。这样做的目的在于,将所有 的线程操作变成任务,交给内核调度,集中管理,降低插件开发者的开发难度,开发者不在需要关注线程是如何使用和控制的。
7、微内核项目包含基础插件和扩展性插件都以源码形式提供,这些公共插件不需要遵守业务插件规则去设计,他们可以按照普通的静态库或动态库使用去使用即可。
<1>、插件开发必须明确的一点就是,插件必须继承IPlugin接口,那么每个插件的接口文件都需要放在系统接口工程下暴露给外界,这样别的协同开发者可以根据你的接口文件与你通信了。
<2>、插件开发者不需要知道通信对方插件是否是有效,是否已经加载等,这些都是由微内核去管理。该插件开发者只需要知道对方的插件的接口文件即可。
<3>、任何一个插件都可以通过PluginPtr插件指针,直接去调用目的插件,这样做的目的是封装内核的加载等操作,简化使用。
<4>、插件开发者需要使用系统接口工程下的PluginGenerator文件里面的GENERATE_PLUGIN宏导出该插件,这样内核才可以正确加载插件。
<5>、在微内核输出EXE目录下的Plugin目录下可以参照这样去放置你的插件:
C++/C++.dll
C#/C#.dll
JavaScript/JavaScript.dll
ComputerUI/ComputerUI.dll
一旦启动微内核,内核就会把所有需要立即加载的插件加载,当你关闭UI时,内核也会自动退出,这样就可以达到单体应用的使用效果(双击EXE,启动应用,关闭界面,退出内核)。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。