Castle Windsor 中文文档
Castle Windsor 是最好最成熟的 IoC容器 ,可用于 .NET 和 Silverlight。
当前版本是 3.3.0, 发布于 2014 年 1 月。
现成的代码
Windsor 的使用非常简单。 下面的代码不仅仅用于 hello world - 也是许多真实的大型项目使用 Windsor 的方式。 关于 API,功能,模式,和实践 的详细信息,查看完整文档。
// 程序开始...
var container = new WindsorContainer();
// 使用WindsorInstallers为执行的程序集添加并配置所有组件
container.Install(FromAssembly.This());
// 实例化和配置根组件和它的依赖以及依赖的依赖...
var king = container.Resolve<IKing>();
king.RuleTheCastle();
// 清理,程序退出
container.Dispose();
那些 安装器(installers) 是什么? 这里有一个。
public class RepositoriesInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.Where(Component.IsInSameNamespaceAs<King>())
.WithService.DefaultInterfaces()
.LifestyleTransient());
}
}
更多深入的例子可以尝试下面的内容,或者去钻研API文档。
示例和教程
通过完成一步一步的教程例子学习Windsor。
- 基础教程
- 简单 ASP.NET MVC 3 应用 (To be seen) - 从无到有一步一步开始。 此教程帮助你快速学习 Windsor 并对容器 API 的使用和如何最有效利用容器的模式有一定了解。