04 2011 档案
摘要:MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。MEF的目标是简化创建可扩展的应用程序,其核心类是ComposablePart,即具有组合能力的组件,每一个称为ComposablePart(中文可为可组合构件,不过下文一直采用英文来表示,这样比较贴切)的组件可以组合(称为Import)其它组件的功能(其它组件通过声明Export提供功能)并且它也可以通过定义Export将其功能暴露给其它组件。ComposablePart通过组件
阅读全文
摘要:今天分享一下我们在2008年设计OSGi.NET动态插件化平台时研究的源代码。在源码分析中,让我也见识了很多高手编写的非常巧妙、高超的程序。这几个程序中,最精妙的应该属于ObjectBuilder,最复杂是CAB。SharpDevelop是.NET最著名的开源IDE,基于自己创建的插件框架,这个插件化框架比较简单易用,不过,并不是我心目中真正的插件平台,因此,在参考SharpDevelop和OSGi规范后,我设计了OSGi.NET平台。此外,由于OSGi.NET平台是OSGi规范的移植,为了更好的理解OSGi规范,我顺便分析了Eclipse内核Equniox的源码,重点研究了关于依赖解析的部分
阅读全文