8

我正在开发一个 ASP.NET MVC 项目,我们决定使用 Fluent nHibernate 进行数据访问。为了实现松散耦合,我们采用 IoC/DI 模式。我的问题是要使用什么 IoC 工具。我试图找出 windsor、ninject、spring、structuremap 和 unity 之间的区别,但很难看出每个人都提供的好处。你的经验是什么?

4

4 回答 4

6

我使用 StructureMap,它非常易于使用。就个人而言,我不喜欢使用 xml 进行配置,而 StructureMap 使使用代码进行配置变得轻而易举。如果您需要切换实现,切换不同的配置文件也很容易。

于 2009-02-10T17:17:33.433 回答
4

我使用温莎,我没有什么可抱怨的。易于使用,在您需要时可扩展,如果您遇到困难,可以提供大量信息。但我认为您选择哪个容器并不重要。您提到的所有这些都具有共同的功能,并且在 mvccontrib 项目中也有适用于 mvc 的适配器。如果您将容器包装在自己的类中,切换到另一个容器应该不难,无论如何这是一个好习惯。

于 2009-02-10T19:12:54.717 回答
1

我一直在使用温莎并且喜欢它。有一个用于使用 NHibernate 的内置工具,它允许简单配置日志记录和连接等。

如果您计划使用 FluentNhibernate,您必须告诉 Windsor 工具哪个程序集具有 ConfigurationBuilder。Mike Hadlow 对此以及 Windsor 和 NHibernate 的其他许多文章都有很好的文章:http: //mikehadlow.blogspot.com/2009/01/integrating-fluent-nhibernate-and.html

于 2009-02-11T09:14:52.993 回答
0

我使用轻量且快速的Munq,它是一种通过 Nuget 将 DI 容器添加到 MVC3 项目的简单方法。到目前为止,我还没有发现任何需要迁移到不同的框架 - Munq 已经非常足够了。

PM> install-package Munq.MVC3

这会添加App_Start\MunqMvc3Startup.cs到项目中,这也是应该注册依赖项的地方。

于 2012-01-09T02:43:37.097 回答