最近我转向 MVC 3 和 Ninject 2。在大部分代码中,我使用构造函数注入,但也有一些地方,我不得不使用Inject
属性。Ninject 2 注册了自己的IDepencyResolver
接口。我不喜欢DependencyResolver
类成为System.Web.Mvc
命名空间的一部分,因为它的功能与 MVC 并没有真正严格相关,但是现在,当它在那里时,我可以做到
public SomeClass
{
public IUserService UserService { get; set; }
public SomeClass()
{
UserService = DependencyResolver.Current.GetService<IUserService>();
代替
public SomeClass
{
[Inject]
public IUserService UserService { get; set; }
所以我不必Ninject
在我的类中引用命名空间。应该DependencyResolver
这样使用吗?