随笔分类 -  OSGI

OSGI。
OSGI:从面向接口编程来理解OSGI
摘要:接口的种类(API和SPI)从接口的被调用方式和被实现方式看,接口有API和SPI之分,见下图:API和SPI在物理组织方式上的建议(可根据情况选择其一)位于独立的Assembly中。位于调用方的Assembly中。API和SPI的演化方式:API可以增加功能,最好保持稳定。SPI可以减少功能,最好保持稳定。API和SPI的交互方式见下图:如何实例化接口(避免不了的问题)简单工厂(三种工厂模式都引入了新的抽象,因此最终还是要用简单工厂创建抽象的。适用于根据上下文实例化不同实例的场景)。服务定位器(适用于实例化边界对象或根对象的场景)。依赖注入容器(适用于多数场景,推荐用这种方式)。从面向接口编 阅读全文

posted @ 2013-04-11 23:40 幸福框架 阅读(3151) 评论(3) 推荐(3) 编辑

OSGI:OSGI集成ASP.NET MVC4.0
摘要:OSGI能动态的加载、启动和停止Bundle,之前我实现了和Ioc的集成以动态的注册和取消注册Bundle中公开的服务。今天简单的实现了和MVC的集成以动态的管理Controller。ASP.NET MVC默认只识别BIN目录下的程序集,当然你可以修改一些配置让他支持其它目录,我采用的策略时重写DefaultControllerFactory+OSGI插件,插件动态管理ControllerType的注册和取消注册,ControllerFactory根据注册的信息获取ControllerType。 1 using System; 2 using System.Collections.Generi 阅读全文

posted @ 2013-04-02 15:06 幸福框架 阅读(2276) 评论(4) 推荐(1) 编辑

OSGI:C#如何实现简单的OSGI
摘要:我对OSGI的认识面向接口编程在组件(DLL)级别的体现。插件机制的一种扩展。动态管理组件(DLL)的生命周期(加载、启动、停止、卸载)。回调和插件的支持,在Bundle的生命周期中,允许通过插件和回调进行拦截。Ioc容器的集成(非必须),如:Bundle启动时自动将服务注册到Ioc中,停止时自动取消服务注册。Ioc管理服务的生命周期,OSGI管理组件的生命周期。代码示例(下载地址)项目结构及他们的依赖关系Program.cs 中的代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 usin 阅读全文

posted @ 2013-03-30 14:59 幸福框架 阅读(3100) 评论(5) 推荐(1) 编辑

导航

我要啦免费统计