平台+插件软件架构≠平台+组件软件架构
2008-03-15 12:20
211 查看
为了实现平台+插件结构的软件设计需要定义两个标准接口,一个为由平台所实现的平台扩展接口,一个为插件所实现的插件接口。这里需要说明的是:平台扩展接口完全由平台实现,插件只是调用和使用,插件接口完全由插件实现,平台也只是调用和使用。平台扩展接口实现插件向平台方向的单向通信,插件通过平台扩展接口可获取主框架的各种资源和数据,可包括各种系统句柄,程序内部数据以及内存分配等。插件接口为平台向插件方向的单向通信,平台通过插件接口调用插件所实现的功能,读取插件处理数据等。
平台插件处理功能包括插件注册、管理和调用,以及平台扩展接口的功能实现。插件注册为按照某种机制首先在系统中搜索已安装插件,之后将搜索到的插件注册到平台上,并在平台上生成相应的调用机制,这包括菜单选项、工具栏、内部调用等。插件管理完成插件与平台的协调,为各插件在平台上生成管理信息以及进行插件的状态跟踪。插件调用为调用各插件所实现的功能。平台插件处理功能实现的另一部分功能为平台扩展接口的具体实现。
插件软件设计步骤包括:
1、 确定平台基本功能和插件要完成系列化功能或扩展功能;
2、 定义平台扩展接口和插件接口;
3、 完成平台设计,主要是平台插件处理功能;
4、 向插件开发者提供主平台程序(执行代码),公布平台扩展接口和插件要实现的接口,可能包括开发用的SDK;
5、 插件开发者按要求开发插件,实现插件接口,开发者可使用提供的主平台程序测试插件;
6、 主平台设计者继续完成主平台的内核功能,并可随时公布新增加主平台扩展接口和插件接口;
7、 实现4-6步骤的良性循环,整个软件系统不断向前进化。
平台+插件软件设计的优点:
1、 实现真正意义上的软件组件的“即插即用”;
2、 在二进制级上集成软件,减少大量的软件重新编译与发布麻烦与时间;
3、 能够很好实现软件模块的分工开发,能够大量吸取他人的优长;
4、 可较好实现代码隐藏,保护知识产权。
平台插件处理功能包括插件注册、管理和调用,以及平台扩展接口的功能实现。插件注册为按照某种机制首先在系统中搜索已安装插件,之后将搜索到的插件注册到平台上,并在平台上生成相应的调用机制,这包括菜单选项、工具栏、内部调用等。插件管理完成插件与平台的协调,为各插件在平台上生成管理信息以及进行插件的状态跟踪。插件调用为调用各插件所实现的功能。平台插件处理功能实现的另一部分功能为平台扩展接口的具体实现。
插件软件设计步骤包括:
1、 确定平台基本功能和插件要完成系列化功能或扩展功能;
2、 定义平台扩展接口和插件接口;
3、 完成平台设计,主要是平台插件处理功能;
4、 向插件开发者提供主平台程序(执行代码),公布平台扩展接口和插件要实现的接口,可能包括开发用的SDK;
5、 插件开发者按要求开发插件,实现插件接口,开发者可使用提供的主平台程序测试插件;
6、 主平台设计者继续完成主平台的内核功能,并可随时公布新增加主平台扩展接口和插件接口;
7、 实现4-6步骤的良性循环,整个软件系统不断向前进化。
平台+插件软件设计的优点:
1、 实现真正意义上的软件组件的“即插即用”;
2、 在二进制级上集成软件,减少大量的软件重新编译与发布麻烦与时间;
3、 能够很好实现软件模块的分工开发,能够大量吸取他人的优长;
4、 可较好实现代码隐藏,保护知识产权。
相关文章推荐
- 软件架构、框架、模式、模块、组件、插件概念汇总
- 消息订阅、派送设计模式在“平台-插件”式软件架构设计中的应用
- 软件架构、框架、模式、模块、组件、插件概念汇总
- 软件架构与组件
- C#.NET 大型企业信息化系统集成快速开发平台 4.1 版本 - 如何才能成为全国知名软件组件
- 天纵智能软件快速开发平台标准列表数据管理插件
- 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别
- 【.NET架构】BIM软件架构02:Web管控平台后台架构
- 第二章 软件开发平台与软件系统架构
- 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别
- 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分
- 软件质量之路(5):面向组件的大规模软件架构
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 实现插件
- 软件架构训练基础教程之面向组件技术
- Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件
- [转]架构、框架、模式、模块、组件、插件、控件、中间件的含义
- 基于.Net(C#开发)平台的三层框架架构软件的设计与实现
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件接口IModule扩展
- 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 模块插件集成