Managed Extensibility Framework(MEF)是.NET平台下的一个扩展性管理框架,它是一系列特性的集合,包括依赖注入(DI)以及Duck Typing等。...进一步了解MEF可以看看TerryLee的文章:使用Managed Extensibility Framework方便的扩展应用程序 MEF之前放到了CodePlex的时候所使用的协议并不是开源协议...MEF现在采用MS-PL协议和社区的声音和微软员工的努力分不开,以及微软认同开源社区的价值。...刚刚看到开源运动和MVP,里面有很多回帖,对微软和开源之间存在很大的误解,需要有时间来修正。
Managed Extensibility Framework MEF, MEF2 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。...Managed Extensibility Framework (MEF, MEF2) Managed Extensibility Framework (MEF) 为大型应用程序提供了一个组合层,以改善应用程序的灵活性...、可维护性和可测试性。...有趣的是,为了项目的特殊性, MEF 在微软中其实有至少三个不同的版本:Differences between .NET MEF, NuGet MEF and VS MEF 英文介绍 Managed Extensibility...Framework (MEF, MEF2) The Managed Extensibility Framework (MEF) is a composition layer for .NET that
Silverlight体积优化 Silverlight是运行在客户端的富媒体应用程序,他可以使表现形式更加的丰富多彩,相应的开发人员需要写大量的XAML、代买添加很多图片以及一些其他的资源文件。...将素材放在sl应用外部 在之前方式中我们都是针对一个sl应用做的,但是当你在构建模块话的sl应用时,将素材文件放在Silverlight XAP包的外部效果会更好。...在silverlight中可以用简单的loadingXAP来完成(具体请查看“动态加载XAP文件”),或者使用第三方的框架来完成,比如“Managed Extensibility Framework”、...“Prism”。...这里我使用了Prism框架来开发我的一个项目,可以来看一下效果。 可以看出各个模块是逐个加载的。
MVVM Light Toolkit MVVM Light Toolkit 的目标是加快 MVVM 应用程序的开发,包括有 WPF, Silverlight, Windows Store (RT), 和...项目详情 官方网站 项目源码 许可证类型: MIT 项目联系人: Laurent Bugnion 相关链接 开发文档 参与讨论 项目博客 Twitter: @LBugnion 笔者简评 Silverlight...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
Prism.Wpf 和 Prism.Unity 这篇是 Prism 8.0 入门的第二篇文章,上一篇介绍了 Prism.Core,这篇文章主要介绍 Prism.Wpf 和 Prism.Unity。...以前做 WPF 和 Silverlight/Xamarin 项目的时候,我有时会把 ViewModel 和 View 放在不同的项目,ViewModel 使用 可移植类库项目,这样 ViewModel...现在“编写平台无关的 ViewModel 项目”这个话题就与 Prism 无关了,再把 Prism.Unity 和 Prism.Wpf 选为代表(毕竟这个组合比其它组合下载量多些),这篇文章就只用它们作为...Prism.Core、Prism.Wpf 和 Prism.Unity 的依赖关系如上所示。其中 Prism.Core 实现了 MVVM 的核心功能,它是一个与平台无关的项目。...PrismApplication 安装好 Prism.Wpf 和 Prism.Unity 后,下一步要做的是将 App.xaml 的类型替换为 PrismApplication。
项目详情 项目源码 项目许可证: MIT 相关链接 参与贡献 项目路线图 笔者简评 WPF 所提供的 MVVM 编程范式和 Windows Forms 的基于事件驱动的方式有很大区别。...微软继 WPF 之后还推出了 Silverlight 和 UWP。现状是 Silverlight 已经凉了, UWP 随着 Windows Phone 凉了一点点。...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
Prism Prism 是一个开发框架,它为实现可维护的、可扩展的、可测试的 XAML 应用程序提供助力,可以应用于 WPF、 Xamarin、 Windows Store 应用和 Windows 10...Prism 帮助开发者实现了多种设计模式以及原则,包括有 Model-View-ViewModel (MVVM)、依赖注入、模块化设计、UI 组件化、命令模式和事件推送订阅机制。...Prism is a framework for implementing maintainable, extensible, and testable XAML applications on WPF...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit
而且此许可证并不限 制代码只能运行在Windows上,这样就可以将代码移植到其它操作系统,例如Mono(Linux上的.NET)和Monolight(Linux上的 Silverlight)。...MonoDevelop有一个插件,可以用来在Linux和Mac OS X上开发ASP.NET MVC程序。...还有一些使用MS-PL许可证的微软项目: ASP.NET MVC Open Source .NET Dynamic Language Runtime (DLR) IronRuby IronPython Silverlight...Toolkit Ajax Control Toolkit Managed Extensibility Framework (MEF) 也就是说这些项目都可以跑在Mono上的,其中的一些项目已经包含在
Topshelf:另一种创建Windows服务的开源框架 依赖注入IOC容器框架: Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。...MEF(Managed Extensibility Framework):是一个用来扩展.NET应用程序的框架,可开发插件系统。...Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。 Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。...Sprite and Image Optimization Framework:微软CSS精灵,多图合成一张大图和CSS样式。...Prism:微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲复杂的业务功能和UI耦合性进行分离。
接口和实例强耦合 Interface = new 实例名称,ioc实现接口和是咧 mef ioc 直接引用dotnet的Managed Extensibility Framework 参考:https...CompositionContainer container = new CompositionContainer(catalog); return container.GetExport().Value; unity
类库搭建的应用程序需要使用依赖注入容器 Prism支持Unity和MEF依赖注入容器 并且允许使用其他的依赖注入容器 引导程序的部分工作就是装配这个容器 并为容器注册类型 Prism类库包含UnityBootstrapper...和MefBootstrapper类 这两个类实现了使用Unity或MEF所必须的功能 除了在前面的插图中展示的步骤 这两个类型还添加了针对各自容器的特殊步骤 创建框架 一般创建WPF应用程序, APP.XAML...中会指定一个启动画面的URI 在Silverlight应用程序中 APP.XAML的后端代码中指定了系统的RootVisual属性 使用Prism类库创建应用程序 bootstrapper负责创建框架画面...这主要是因为框架画面依赖于服务 这些服务类似与区域主管 这些服务在框架画面显示之前被注册 关键决定 当你决定使用Prism类库 还需要做出一些额外的决定: 必须决定是使用MEF、Unity还是其他的依赖注入容器...Silverlight应用程序 InitializeShell方法的实现方式也会不同 对于Silverlight应用程序来说 你需要把框架画面设置成系统的visual root 代码如下: protected
Microsoft .NET Micro Framework SDK 提供了进行开发的必要组件,包括设备IO兼容,一套使用C#编写的.Net类库子级和一套与 Microsoft Visual Studio....NET Micro Framework 类库包含了所有桌面版 Framework 中的主要名称空间和类型、托管驱动支持、远程固件更新功能和对安全设备的加密支持。...Framework is an open source platform that enables you to write managed code C# applications using Visual...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
能够应用于普通设备, 云环境和嵌入式/IoT之中。 值得一试。...英文介绍 SixLabors.ImageSharp ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
Managed Extensibility Framework (MEF) 是用于创建可扩展的轻量级应用程序的库。 它让应用程序开发人员得以发现和使用扩展且无需配置。...而MEF、Unity、MAF(包括Prism框架部分)、Ninject、StructureMap、Autofac等,都是IoC思想的具体实现。...这里就需要提到一个叫做特性的概念,上图中Export和Import就是特性。特性在这里的主要作用帮助Catalog发现基于约定特殊实现条件编码的插件。...{ //释放该业务模块插件的资源 } } } 3.Ref https://learn.microsoft.com/zh-cn/dotnet/framework
和MefBootstrapper,分别使用Unity和Mef来实现依赖注入。...#region Assembly Microsoft.Practices.Prism.dll, v2.0.50727 // C:\Program Files (x86)\Prism4.0\Bin\Silverlight...创建并配置依赖注入容器 Prism中使用依赖注入来管理各个组件,你可以使用任何你熟悉的容器,比如Castle,Unity等。...Prism中内置了对Unity和Mef的支持,所以有这两种预定义好的Bootstrapper:UnityBootstrapper和MefBootstrapper,其中分别采用UnityContainer...默认情况下这是个空方法,可以通过重写这个方法加入自定义的逻辑,可以在这个方法中将Shell作为Silverlight程序的根容器页面显示出来。
以评论模块为例,它可以被非常容易的应用在页面、博文、照片和产品介绍上。 系统内置的富文本UI界面设计系统,能够在构建时实时生成预览图,以确保您能够得到与您设计预期一直的呈现效果。...Orchard is built on a modern architecture that puts extensibility up-front, as its number one concern...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
Xamarin.Auth Xamarin.Auth 是一个跨平台的API,用于进行用户的身份认证处理和对账号的存储处理。...目前主要支持的是 OAuth 1.0 和 OAuth 2.0 协议,以及相关的 IdP 。...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
MailKit MailKit 是一个跨平台的 .Net 邮件客户端处理库,支持包括了 IMAP、 POP3 和 SMTP 在内的常见协议。...框架】 Entity Framework - 【ORM】 Humanizer - 【工具库】 IdentityManager - 【身份认证数据管理工具】 IdentityModel - 【身份认证对接库...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
UWP Community Toolkit UWP Community Toolkit 包含一组帮助函数、自定义控件和应用服务。它为 Windows 10 UWP 开发这带来便利。...框架】 Entity Framework - 【ORM】 Humanizer - 【工具库】 IdentityManager - 【身份认证数据管理工具】 IdentityModel - 【身份认证对接库...IronPython3 - 【.Net上运行Python】 Json.NET - 【JSON处理库】 Kudu - 【自动化框架】 LLILC - 【语言底层项目】 MailKit - 【邮件处理工具库】 Managed...Extensibility Framework MEF, MEF2 - 【模块化工具库】 Microsoft Web Protection Library - 【Web防攻击工具库】 MimeKit...Authentication Middleware Katana Project - 【Web开发框架】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism
这篇快速入门文章包括如何使用Prism进行编码、探索和创建模块的示例 创建模块: 模块是实现了IModule接口的类, 可以通过声明特性来给模块命名、控制其初始化、定义依赖等 注册模块: 模块可以通过以下方式注册...支持通过加载一个配置文件来注册模块 这与在Silverlight中使用XAML方法注册模块的场景非常类似 在配置文件中声明模块可以让系统决定什么时候加载和初始化模块 通过监视目录 可以指定一个目录, 如果有程序集被添加到此目录中...注册模块依赖: 模块可以依赖于其他模块, Prism支持管理依赖。 包括控制循环引用和重复模块检测等功能。..., 以处理模块加载和初始化完成后的额外事件 使用不同的依赖注入容器 一般在“快速入门”的示例中都是使用Unity依赖注入容器 虽然核心类库的代码仍然“容器-未知”(container-agnostic)...成为一体 Unity模块化: 此模块化快速入门示例使用Unity倚赖注入容器 场景 这一小节描述两个快速入门示例的相同场景, 每个快速入门示例都由六个模块组成 ModuleA、ModuleB、ModuleC