Dependency injection 依赖注入只是为了测试还是生产?
依赖注入框架是仅用于测试还是用于生产代码?似乎一旦你开始使用ninject这样的框架,你就不会想把所有的事情都颠倒过来。另外,使用ninject这样的东西会影响性能吗?您肯定会在生产环境中使用DI。在一个测试环境中,为了测试的目的,只需要连接一些东西是可以的,事实上,如果您使用的是模拟对象,您可能需要自己连接这些类。您肯定在生产环境中使用DI。在一个测试环境中,为了测试的目的,只需要连接一些东西是可以的,事实上,如果您使用的是模拟对象,您可能需要自己连接这些类。一切都使用它!为什么要倒过来?质量框架的性能影响应该只发生在启动时。另外,在虚拟机可以内联额外的层之前,可能会有一个较小的惩罚。无论哪种方式,您都可以看到bug的减少和开发人员生产力的提高 DI对于生产来说特别好。在我们的软件中,我们在生产中使用与在测试中完全相同的配置 当测试运行时,测试配置只是将某些服务标记为模拟。这意味着测试配置为:Dependency injection 依赖注入只是为了测试还是生产?,dependency-injection,Dependency Injection,依赖注入框架是仅用于测试还是用于生产代码?似乎一旦你开始使用ninject这样的框架,你就不会想把所有的事情都颠倒过来。另外,使用ninject这样的东西会影响性能吗?您肯定会在生产环境中使用DI。在一个测试环境中,为了测试的目的,只需要连接一些东西是可以的,事实上,如果您使用的是模拟对象,您可能需要自己连接这些类。您肯定在生产环境中使用DI。在一个测试环境中,为了测试的目的,只需要连接一些东西是可以的,事实上,如果您使用的是模拟对象,您可能需要自己连接这些类。一切都使用它!为什么要倒过来?质量
一切都要用它!为什么要倒过来?质量框架的性能影响应该只发生在启动时。另外,在虚拟机可以内联额外的层之前,可能会有一个较小的惩罚。无论哪种方式,您都可以看到bug的减少和开发人员生产力的提高 DI对于生产来说特别好。在我们的软件中,我们在生产中使用与在测试中完全相同的配置 当测试运行时,测试配置只是将某些服务标记为模拟。这意味着测试配置为:
依赖注入是一种架构模式,而不是测试模式。因此,它打算在构建生产代码时使用。事实上,一个非常好的框架引入了非常小的开销(如果有的话)。不能确定ninject或unity是否是这样,我曾经实现过我自己的
DI可能真正的缺点主要是编码过程,而不是生产性能。应该提到的一点是:当使用DI时,您失去了使用“转到定义”遍历代码的能力—它总是将您带到非常符合逻辑但仍然无法使用的接口。依赖注入是一种架构模式,而不是测试模式。因此,它打算在构建生产代码时使用。事实上,一个非常好的框架引入了非常小的开销(如果有的话)。不能确定ninject或unity是否是这样,我曾经实现过我自己的
DI可能真正的缺点主要是编码过程,而不是生产性能。应该提到的一点是:当使用DI时,您失去了使用“转到定义”遍历代码的能力—它总是将您带到一个逻辑性很强但仍然无法使用的界面。安装ReSharper并按ctrl-alt-b而不是“转到定义”,安装ReSharper并按ctrl-alt-b而不是“转到定义”。