dependency-injection相关内容

ASP.NET MVC 控制器中的构造函数依赖注入

考虑: 公共类 HomeController : 控制器{私有 IDependency 依赖;公共 HomeController(IDpendency 依赖){this.dependency = 依赖;}} 事实上,ASP.NET MVC 中的控制器必须有一个空的默认构造函数,除了为 DI 定义一个空的(在我看来是无用的)构造函数之外还有什么方法吗? 解决方案 如果您想拥有无参数构造函 ..
发布时间:2021-12-26 10:57:25 其他开发

依赖注入究竟是如何减少耦合的?

我已经阅读了大量关于依赖注入的文章,但我不知道它实际上是如何减少耦合的? 我对 DI 的类比是所有组件都注册到一个容器中,因此它们就像在一个宝箱中.要获得一个组件,您显然要先注册它,然后您必须查询宝箱(这就像一个间接层).这是正确的比喻吗?不过,“注入"是如何发生的并不清楚(这如何与这个类比相符?). 谢谢 解决方案 用你的组件在宝箱中的类比:一个没有依赖注入的系统(比如一个宝 ..
发布时间:2021-12-26 10:57:19 其他开发

为什么不传递你的 IoC 容器呢?

在这个 AutoFac“最佳实践"页面 (http://code.google.com/p/autofac/wiki/BestPractices),他们说: 不要传递容器授予组件访问容器的权限,或将其存储在公共静态属性中,或使 Resolve() 等函数在全局“IoC"类上可用,都违背了使用依赖注入的目的.这种设计与服务定位器模式有更多的共同点.如果组件依赖于容器,请查看它们如何使用容器来检 ..
发布时间:2021-12-26 10:57:14 其他开发

如何在自定义视图或其他 android 类中使用 AndroidInjection 类?

我对 Android 特定模式的问题是,如果您使用他们的 AndroidInjection 类,则除了 Activities/Fragments 之外,成员无法注入其他对象/custom 视图/适配器,应用程序组件除外.这是因为您无法获得用于注入 Activities/Fragments 的 Subcomponent (AndroidInjector) 的引用.这使得注入对话框(如果您使用 Dia ..
发布时间:2021-12-26 10:57:03 移动开发

域对象是否应该注入依赖项?

我特别指的是这个问题:DDD - 如何实现工厂 所选答案已说明: “工厂不应该与依赖注入绑定,因为域对象不应该将依赖注入其中." 我的问题是:无法将依赖项注入实体的原因是什么?还是我只是误解了声明?有人可以澄清一下吗? 解决方案 域对象不是工厂、存储库等.它们只是实体、值对象、域服务和聚合根.也就是说,它们必须是封装了您的业务域使用的数据、它们之间的关系以及域可以对该数据 ..
发布时间:2021-12-26 10:56:58 其他开发

Ninject 缓存注入的 DataContext?生命周期管理?

我的存储库中出现了一系列非常奇怪的错误.未找到或更改行,2 个更新中的 1 个失败......没有任何意义. 就好像我的 DataContext 实例被缓存了一样......没有任何意义,我正在考虑转行. 然后我注意到 DataContext 实例是使用依赖注入传入的,使用的是 Ninject(这是我第一次使用 DI...).我删除了依赖注入,一切都恢复了正常.立即. 所以依赖注 ..
发布时间:2021-12-26 10:56:44 其他开发

全局访问根 Angular 2 注入器实例

如何全局访问根 Angular 2 注入器的实例(例如,从浏览器控制台). 在 Angular 1 中它是 angular.element(document).injector(). 在测试和探索过程中很有用,使用浏览器控制台获取注入器然后访问不同组件、指令、服务等的实例. 解决方案 在引导应用程序后,您必须将其设置为服务: export var applicationInj ..
发布时间:2021-12-26 10:56:34 其他开发

org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“demoRestController"的 bean 时出错

我是 Spring 的新手,我正在尝试制作一个学习应用程序,但我在自动装配中遇到问题,我正在添加我的代码.我正在研究弹簧靴. Spring Boot 代码 公共类DemoApplication {公共静态无效主(字符串 [] args){SpringApplication.run(DemoApplication.class, args);}} 登录Bean.java @Service@ ..
发布时间:2021-12-26 10:56:25 Java开发

什么时候在 Spring 中使用 javax.inject.Provider?

它的作用很简单: @Inject私人提供商产品服务; 产品服务可通过 productService.get() 获得,.get() 将在每次调用时从 Spring 上下文解析实例. 但是我应该什么时候使用它呢?在哪里? 我的主要用例非常简单:当我获得循环依赖时,提供程序会在运行时帮助解决依赖关系.但是,如果您在因循环依赖而无法创建上下文时将其放入,则 ..
发布时间:2021-12-26 10:56:19 Java开发

注入服务或控制器的依赖项过多时的重构策略

我有一个 ASP.NET MVC 1 应用程序,它使用 NHibernate 和 Castle Windsor 进行 IoC.控制器注入了服务类,这些服务类处理应用程序所需的所有逻辑和操作.服务类注入了存储库.每个存储库处理单个对象.对象通过 NH 映射到 DB 表.我试图在服务和控制器之间保持一对一的关系,但有些服务在多个控制器中使用. 问题是一些服务现在依赖于 10-15 个存储库.例如 ..
发布时间:2021-12-26 10:56:04 其他开发

如何注射注射器?

情况:我需要在某些 FooClass 中延迟依赖实例化,所以我将 Injector 作为构造函数参数传递给类. private final Injector m_injector;public FooClass(@Named("FooInjector") 注入器注入器) {m_injector = 注射器;} 但是 guice 不允许绑定核心类(注入器、模块等).有什么解决办法? 解决方 ..
发布时间:2021-12-26 10:55:49 其他开发

使用 Dagger 2 的方法注入

我没有找到关于使用 Dagger 2 的方法注入的好的解释/示例.有人可以帮我理解吗? 示例: @Injectpublic Dinner makeDinner(意大利面,酱汁){mPan.add(pasta);mPan.add(酱);返回 mPan.cookDinner();} 因此,如果我使用 @Inject 注释我的方法,我是否正确地假设方法签名中的参数将使用对象图中的已定义对象注入 ..
发布时间:2021-12-26 10:55:41 Java开发

抽象不应该依赖于细节.细节应该取决于抽象?

在过去的几天里,我已经阅读了很多关于依赖注入/控制反转/依赖反转的内容.我认为,现在我对这个概念的理解要好得多.但我仍然没有从维基百科中得到以下内容: A.高级模块不应该依赖于低级模块.两个都应该依赖于抽象.B. 抽象不应该依赖于细节.细节应该依赖于抽象. 我理解高级模块的部分不应该依赖于低级模块. 但是,我对抽象和细节感到困惑.有人可以帮我简化它们吗?谢谢. 解决方案 这意味 ..
发布时间:2021-12-26 10:55:33 其他开发

具有开放泛型的工厂模式

在 ASP.NET Core 中,你可以用微软的依赖注入框架做的一件事是绑定“开放泛型"(泛型类型未绑定到具体类型)像这样: public void ConfigureServices(IServiceCollection services) {services.AddSingleton(typeof(IRepository), typeof(Repository))} 您也可以使用 水合依赖 ..
发布时间:2021-12-26 10:55:27 C#/.NET

Spring DI applicationContext.xml xsi:schemaLocation 究竟是如何使用的?

注意:我提到的测试项目可以通过以下方式下载: git clone https://github.com/mperdikeas/so-spring-di-appcontext-schemalocation.git .. 并用 'ant run' 运行. 我“理解"XML 命名空间名称仅用作不透明标识符,并不打算用作 URI (维基百科).我还“理解"XML 模式位置旨在提供有关模式 ..
发布时间:2021-12-26 10:55:19 其他开发