初识OSGI.NET插件框架
OSGI全称为Open Service Gateway Initiative,OSGI是一个开放服务规范,基于该平台可以使得很多人来共同使用和协作。 基于OSGI.NET的插件框架提供了模块化与插件化、面向服务架构和模块扩展三大功能,适用于控制台WinForm、Windows服务、WPF、ASP.NET和移动平台等任意.NET应用环境。 1、框架图
OSGI全称为Open Service Gateway Initiative,OSGI是一个开放服务规范,基于该平台可以使得很多人来共同使用和协作。
基于OSGI.NET的插件框架提供了模块化与插件化、面向服务架构和模块扩展三大功能,适用于控制台
WinForm、Windows服务、WPF、ASP.NET和移动平台等任意.NET应用环境。
1、框架图
主程序是入口,应用插件是实现各不同功能的模块。
2、OSGI.NET解决的问题
(1)解决软件复用问题。插件具有热插拔、物理隔和动态特性,可以随时停用,开启等都不影响其他的东西,完全重用。
( 2 )团队协作问题。团队可以并行,独立开发,最后快速组装。
( 3 )解决可维护性问题。组件互相隔离,其依赖通过可管理的服务来实现,依赖力度小。不同组件可以有不透光版本,可以独立开发,部署和测试。不会影响其他组件。
( 4 )快速响应市场变化
( 5 )易管理、易部署、易更新。(6)开放性。可以通过服务向开发者提供API,通过扩展点向开发者提供功能扩展,并且构建私有的插件仓库。
3、插件框架结构
插件化最直接的好处就是可以以模块化的方式来独立并行构建软件系统,在构建的过程中可以随时进行集成。
在.net平台,程序是由程序集构成的。程序集是我们开发的一个各类,一般情况下我们开发的程序中,它们都存在应用程序的bin的目录下。但是在插件框架的开发方式下,它把程序集按一定的机构进行组织,不同功能的的程序集则组织到Plugins目录下,而bin目录下则放几个通用的程序集。
(1)Plugins目录下,会按照插件分组,每一个目录都是一个插件,每一个插件实现一组功能。
如下:
(2)而且打开每一个插件的目录,下面都是很完整的,XML,web.config,还有自己的bin目录,这样扩展性是不是就很强大了,高内聚,低耦合。
(3)bin文件夹是其自己的程序集。
这样实现插件化方式开发时,需要依赖于框架从各不同插件文件夹中加载程序集。
4、OSGI.NET插件框架的优点
(1)开放、规范、统一:符合规范的模块均可被OSGi.NET插件框架加载。
(2)快速集成:将模块放在插件模块即实现功能集成。
(3)高度可重用:仅通过拷贝即可实现重用,无需修改任何代码。
(4)热插拔与动态:每一个模块都可被动态安装、启动、停止和卸载。
(5)标准模块化与模块物理隔离:模块具有统一规范且互相独立。
(6)面向服务编程支持:提供基于面向服务架构编程模型以支持模块通讯。
(7)动态可扩展:通过暴露扩展点实现动态扩展。
(8)多环境支持:支持各种.NET应用环境。
总结
OSGI.NET框架目前是最简单,最强大,最通用且最易移植的框架,并构建符合现代复杂大规模软件的开发方法——基于软件生产线的组装式开发。
插件框架的这种思想很好,可扩展性,隔离性,可移植性,易用性,动态性都很好,我需要用哪个插件,哪个功能,只需要把插件扔进去就能实现想要的效果。这样只要有一个框架,组装一下系统就能用,想起来就很强大。而且如果是开发各插件,它们之间互不干扰。
更多推荐
所有评论(0)