2013-02-02 45 views
15

我完全是IoC/windsor的新手。我从谷歌开始学习它,但不幸的是,我没有合适的文档可以让我更容易理解。所以我带着这样的标题/问题来到这里。如何开始使用Castle-Windsor?

每个文件/页面(网页),启动类似的喜欢的东西这个

“我们应该从注册类/接口上启动,然后解决它 ......”

但没有该页面显示了有关如何实现该功能的完整文档, 我也尝试制作一个简单的项目,但未能运行它。我不知道如何解决容器,在哪里/如何调用install(),我完全搞砸了。

任何人都可以帮助我一个示例项目,其中包括完整的注册/安装演示?

感谢提前:)

回答

15

而且Mark Seemann's Dependency Injection in .NET本书是一个很好的起点。写得很好,专门有一个关于温莎城堡的章节。

他们也有一些good tutorials on code project,我使用前:

UPDATE

好了,最简单的教程将如下所示:

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!"); 
     } 
    } 
} 
+0

感谢您的书, 我经历了这些教程,但不幸的是无法一次整合这些所有概念。 PLZ提供给我一个简单的完整的项目:) –

+0

@RameshKarn看到我的更新的答案,看看它是否有帮助:) –

+0

非常感谢,它可以帮助我很多:),但我有一些问题,当我做了一些改变,请检查这个链接 http:// stackoverflow。COM /问题/ 14669756 /控制台的WriteLine - 是 - 不工作,后解决 –

0

您也可以使用

工具添加温莎城堡 - > NuGet包管理器 - >软件包管理器控制台。

而不仅仅是输入安装,包装Castle.Windsor

后您assamblies做了你是好去的代码。 Sebastian K提供了一个很好的工作代码示例。

0

如果你正在寻找一个教程,检查这link

它说明一个例子CastleWindsor,NHibernate和的UnitOfWork。