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

posted @ 2014-07-03 07:15  attilaxAti  阅读(142)  评论(0编辑  收藏  举报