Dependency injection 国际奥委会和DI在哪里以及为什么

Dependency injection 国际奥委会和DI在哪里以及为什么,dependency-injection,inversion-of-control,Dependency Injection,Inversion Of Control,我对IoC和DI还很陌生,我似乎找不到我不应该使用它的确切场景 在我知道可能有扩展的地方使用它是有意义的,比如基于文件的日志记录、数据库日志记录等,或者使用数据源测试、生产等 但我感到困惑的是,在一个大项目中,我可以有数百个类。如果我对所有类都使用IoC/DI,那么代码管理/维护/单元测试会变得容易吗?它是否只对此类课程有帮助 类似地,如果我确信一个类总是会创建另一个类的对象,例如一个客户总是有一个地址,那么在这种情况下我应该使用DI吗?在这种情况下不使用DI会是一种不好的做法吗 我们即将开始一

我对IoC和DI还很陌生,我似乎找不到我不应该使用它的确切场景

在我知道可能有扩展的地方使用它是有意义的,比如基于文件的日志记录、数据库日志记录等,或者使用数据源测试、生产等

但我感到困惑的是,在一个大项目中,我可以有数百个类。如果我对所有类都使用IoC/DI,那么代码管理/维护/单元测试会变得容易吗?它是否只对此类课程有帮助

类似地,如果我确信一个类总是会创建另一个类的对象,例如一个客户总是有一个地址,那么在这种情况下我应该使用DI吗?在这种情况下不使用DI会是一种不好的做法吗

我们即将开始一个使用ASP.NETMVC3的大项目,Unity是一个好的选择吗

谢谢,
Ali

在讨论IoC时,需要注意的一点是,我们讨论的是对象之间的依赖关系,而不是类之间的依赖关系。如果你认为我需要那个东西,我现在就需要它!,这是DI的一个很好的候选者。将其作为构造函数参数传递给类是很自然的