首页 > 代码库 > atitit.插件体系设计总结o73.doc
atitit.插件体系设计总结o73.doc
1. 两大类型:微内核(级联树形结构)与巨内核(管理容器,并联结构)。 1
2. 通用插件接口 1
3. 插件的绑定and 初始化 2
4. 微内核插件平台设计 2
5. 参考 2
1. 两大类型:微内核(级联树形结构)与巨内核(管理容器,并联结构)。
插件系统主要有两大类型:微内核(级联树形结构)与巨内核(管理容器,并联结构)。
其中,微内核的主要特点是拥有父插件、子插件,而界面呈现是由扩 展点的父插件来决定,插件交互也是通过国展店实现的。此外,插件之间的赖关系由配置文件制定,其延迟加载也是由配置文件中的详细描述来定义,只有在调用时 才会被加载。
相对来说巨内核的界面呈现是由运行框架来决定的,在其设计之初就已经确定好未来插件的显示方式。而插件之间也是由巨内核统一进行管理的,其依赖关系一般没有管理。巨内核的典型例子就是目前很火的SNS社区,如校内网、Facebook、开心网等等。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 通用插件接口
另外,值得补充说明一下的是插件接口。插件接口通常有两种:
通用插件接口:这一类插件接口是通用的,你无法从接口函数看出这个插件的功能。它的接口函数通常有这些函数:
init : 用于初始化插件,通常在插件被加载时调用。
deinit:用于反初始化插件,通常在插件被卸载时调用。
run:让插件起动。
stop:让插件停止。
至于插件要完成什么功能,要插到哪里,在init函数里决定,它调用公共函数库里的函数把自己注册到框架中某个位置。
3. 插件的绑定and 初始化
加入插件的方式通常采用配置信息来实现
两个方式,一个是插件黑头Init,,要是单个的插件这个法好...
B..使用ioc 容器来绑定...分割..
Html, js这个法好..
4. 微内核插件平台设计
· 个微内核插件平台,只有一个插件加载器、插件版本控制组件、资源下载组件。
· 插件加载器,负责加载插件。
· 插件版本控制组件,负责询问版本服务器获取加载的版本。
· 资源下载组件,负责下载插件资源。
客户端的简要启动运行流程如下。
· 获取版本:内核启动后,询问版本控制服务器,获取需要加载的版本。
· 下载相应版本的XML配置。
· 加载器解析XML配置。
· 开始第一个插件加载逻辑。
· 下载第一个插件的资源。
· 加载第一个插件。
· 继续加载子节点插件。
· 微内核懒加载架构与Web架构的比较如表1所示。
5. 参考
插件式设计的架构模型与实例 - Linux mobile development - 博客频道 - CSDN.NET.htm
腾讯客户端架构 -- 客户端的插件化 - 梦中梦的日志 - 网易博客.htm