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

atitit.插件体系设计总结o73.doc的更多相关文章

  1. Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结

    Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结 1. 微内核与插件的优点1 2. 插件的注册与使用2 2.1. Ioc容器中注册插件2 2.2. 启动器微内核启动3 ...

  2. atitit.抽奖活动插件组件设计--结构设计and 抽奖流程建模

    atitit.抽奖活动插件组件设计--结构设计and 抽奖流程建模 1. 组件结构 1 2. startDraw 开始抽奖流程建模 1 3. 抽奖算法 2 作者:: 老哇的爪子 Attilax 艾龙, ...

  3. Atitit.异常的设计原理与 策略处理 java 最佳实践 p93

    Atitit.异常的设计原理与 策略处理 java 最佳实践 p93 1 异常方面的使用准则,答案是:: 2 1.1 普通项目优先使用异常取代返回值,如果开发类库方面的项目,最好异常机制与返回值都提供 ...

  4. Atitit.安全性方案规划设计4gm  v1 q928

    Atitit.安全性方案规划设计4gm  v1 q928 1. 安全架构设计与功能安全检测1 2. https1 3. 账号安全体系1 4. 配置文件安全 1 5. 源码加密与安全2 6. 最高强度的 ...

  5. Atitit 研发体系建立 数据存储与数据知识点体系知识图谱attilax 总结

    Atitit 研发体系建立 数据存储与数据知识点体系知识图谱attilax 总结 分类具体知识点原理规范具体实现(oracle,mysql,mssql是否可以自己实现说明 数据库理论数据库的类型 数据 ...

  6. atitit.userService 用户系统设计 v4 q316 .doc

    atitit.userService 用户系统设计 v4 q316 .doc 1. 新特性1 2. Admin  login1 3. 用户注册登录2 3.1. <!-- 会员注册使用 --> ...

  7. Geronimo tomcat: 在 Apache Geronimo 插件体系中将 Apache Tomcat 这个优秀的 Web 容器整合至其中

    Apache Geronimo 灵活的插件体系将 Tomcat, OpenJPA, OpenEJB, ActiveMQ 等第三方组件集成至其中.本文从多角度介绍了在 Apache Geronimo 中 ...

  8. atitit.loading的设计与实现控件选型attilax 总结

    atitit.loading的设计与实现控件选型attilax 总结 1. Percentage Loader(推荐) 1 1.1. 起始百分比::调整  progress 1 2. CSS3 Loa ...

  9. atitit.提升兼容性最佳实践 p825.doc

    atitit.提升兼容性最佳实践 p825.doc 1. Atitit.兼容性的“一加三”策略1 2. 扩展表模式2 3. 同时运行模式2 3.1. 完美的后向兼容性3 3.2. 虚拟机模式3 3.3 ...

随机推荐

  1. HTML小知识---Label

    今天知道了一个html小知识: <input type="checkbox" id="chkVersion" />                 ...

  2. Swift 为你的webView定制标题

    有些情况下,应用中会使用webView来加载大段的文字,而且还是带各种标签的. 不能全部过滤掉,那样的话,内容就会失去原本想表达的格式. 可是,如果webView中并没有将内容的标题或其他杂项包含进那 ...

  3. Oracle题目

    1. 创建一个函数fun_sal,该函数根据部门号获得该部门下所有员工的平均工资Create or replace function fun_sal(deptnos number)return var ...

  4. iOS9支付完成无法获取回调

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id ...

  5. 浅析Linux下进程间通信:共享内存

    浅析Linux下进程间通信:共享内存 共享内存允许两个或多个进程共享一给定的存储区.因为数据不需要在客户进程和服务器进程之间复制,所以它是最快的一种IPC.使用共享内存要注意的是,多个进程之间对一给定 ...

  6. JDBC连接数据库(SQLServer和MySQL)配置总结

    [JDBC连接SQL Server] [准备工作] 1.下载Eclipse-JavaEE: 2.下载Tomcat8.0: 3.下载Microsoft JDBCDriver 4.1 for SQL Se ...

  7. 实现毛玻璃模糊效果/DRNRealTimeBlur

    四种方法:1.美工出图  2.coreImage框架,高斯效果 3.ToolBar,覆盖在view上边 //1.添加图片 self.imageView.image = [UIImage imageNa ...

  8. 1、iOS9 HTTP 不能正常使用的解决办法

    升级Xcode7.0 bata发现网络请求访问失败 输出的错误信息: The resource could not be loaded because the App Transport Securi ...

  9. Jade之注释

    注释 jade注释可以保留在编译后生成的html中,也可以不保留. jade: // 这个会保留下来 p Hello //- 这个不会保留 p World html: // 这个会保留下来 <p ...

  10. Myeclipse加载maven

    1.自带,需要将之前下好的文本加入到myeclipse中即可.windows---->preference---->Myeclipse---->MavenMyeclipse 3.将本 ...