我对 IoC/windsor 完全陌生。我从谷歌开始学习它,但不幸的是,我没有合适的文档来让我更容易理解。所以我带着这样的标题/问题来到这里。
每个文档/页面(网络),开始类似这样的东西
“我们应该从注册类/接口开始,然后解决它......”
但没有一个页面显示有关如何实现这一目标的完整文档,我也尝试制作一个简单的项目,但我未能运行它。我不知道如何解析容器,在哪里/如何调用 install(),我完全搞砸了。
任何人都可以帮助我提供一个包含注册/安装完整演示的示例项目吗?
提前致谢 :)
我对 IoC/windsor 完全陌生。我从谷歌开始学习它,但不幸的是,我没有合适的文档来让我更容易理解。所以我带着这样的标题/问题来到这里。
每个文档/页面(网络),开始类似这样的东西
“我们应该从注册类/接口开始,然后解决它......”
但没有一个页面显示有关如何实现这一目标的完整文档,我也尝试制作一个简单的项目,但我未能运行它。我不知道如何解析容器,在哪里/如何调用 install(),我完全搞砸了。
任何人都可以帮助我提供一个包含注册/安装完整演示的示例项目吗?
提前致谢 :)
Mark Seemann 的 .NET 中的 Dependency Injection一书也是一个很好的起点。写得很好,专门有一章关于温莎城堡。
他们也有一些关于代码项目的很好的教程,我以前用过:
更新
好吧,最简单的教程如下:
1)在VS2010中创建新的控制台应用程序
2)右击“References”,选择“Manage NuGet Packages”,安装Castle.Windsor
3) 对 Program.cs 使用以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.MicroKernel.Registration;
using Castle.Windsor;
namespace ExploringCastleWindsor
{
internal class Program
{
interface ILogger
{
void Log(string message);
}
class Logger : ILogger
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
static void Main(string[] args)
{
// Registering
var container = new WindsorContainer();
container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
// Resolving
var logger = container.Resolve<ILogger>();
logger.Log("Hello World!");
}
}
}
如果您正在寻找教程,请查看此链接
它在一个示例中解释了 CastleWindsor、Nhibernate 和 UnitOfWork。
您也可以使用添加温莎城堡
工具 --> NuGet 包管理器 --> 包管理器控制台。
而不仅仅是输入Install-Package Castle.Windsor
完成组装后,您就可以开始使用代码了。Sebastian K提供了一个很好的工作代码示例。