dependency-injection相关内容

我应该把我的 ThreadLocals 放在一个弹簧注入的单例中吗?

几个人(例如在服务器端 http://www.theserverside.com/news/thread.tss?thread_id=41473) 建议使用 ThreadLocal 对象与使用全局变量一样糟糕.我想这是真的,如果你让它们成为公共静态变量.那么问题是,很难分辨它在哪里使用,在哪里更改等. 在我的 spring DI tomcat web-app 中,如果我只是让 spring ..
发布时间:2021-12-26 10:54:46 Java开发

ASP.NET Core IHostedService 手动启动/停止/暂停(?)

我想在 ASPNET Core 中实现一个可以按需停止和启动的循环(定时)IHostedService 实例.我的理解是 IHostedService(s) 在应用程序启动时由框架启动. 但是,我希望能够“手动"启动/停止服务,也许可以通过 UI 使用开/关切换.理想情况下,“关闭"状态将处理当前正在运行的服务,然后“开启"状态将创建一个新实例. 我在这里阅读了 MS 文档:https ..
发布时间:2021-12-26 10:54:39 C#/.NET

有没有人对依赖注入有一个很好的比喻?

我已经阅读了很多关于依赖注入的文章并观看了很多视频,但我仍然无法理解它.有没有人有好的比喻来解释一下? 我观看了敏捷之秋的第一部分截屏视频,仍然有点困惑. 解决方案 类比?我给它一个重击...如果没有带有音乐的 CD,您的 CD 播放器立体声将毫无用处...(这取决于 CD).如果他们制作的 CD 播放器中已经有 CD,那它很快就会变得无聊... 所以他们构建它们,以便您可以将 ..
发布时间:2021-12-26 10:54:22 其他开发

C++中的依赖注入

这也是我在 Miško Hevery 的一篇评论中提出的问题 google 谈到 正在处理依赖注入,但它被埋在了评论中. 我想知道将依赖项连接在一起的工厂/构建器步骤如何在 C++ 中工作. 即我们有一个依赖于 B 的类 A.构建器将在堆中分配 B,在 A 的构造函数中传递一个指向 B 的指针,同时也在堆中分配并返回一个指向 A 的指针. 事后谁清理?完成后让建筑商清理好不好?这 ..
发布时间:2021-12-26 10:54:14 C/C++开发

类库中的 IoC.在哪里引导

我正在使用一个可以被其他组件重用的类库.在这个类库中,我使用 unity 进行依赖注入.对于这个类库,我创建了一个测试项目.调用者还会得到一个测试项目.我不确定的一件事是绑定的位置.我应该将其合并到类库中还是应该从调用应用程序中执行此操作? 解决方案 这是一个有趣的问题.您如何依赖注入没有入口点的可重用程序集.我真的很想看到其他人的回答. 依赖注入是入口点程序集的责任.然而,如果您有 ..

是否可以在@RequiredArgsConstructor(onConstructor = @__(@Autowired)) 中添加限定符?

如果我想在构造函数依赖注入上使用注解 @Qualifier,我会有如下内容: public class Example {私有最终 ComponentExample 组件;@自动连线公共示例(@Qualifier(“someComponent")ComponentExample组件){this.component = 组件;}} 我知道 Lombok 的注释可以减少样板代码并且不必包含构造函数 ..
发布时间:2021-12-26 10:53:55 Java开发

使用引用作为依赖项的类成员

在内存管理语言中花了一些时间后,我将回到 C++,但我突然有点迷失于什么是实现依赖注入的最佳方式.(我完全卖给了 DI,因为我发现它是使测试驱动设计变得非常简单的最简单方法). 现在,浏览 SO 和 google 使我对此事有很多意见,我有点困惑. 作为对这个问题的回答,C++中的依赖注入,有人建议你应该不传递原始指针,即使是依赖注入.我知道这与对象的所有权有关. 现在,在臭名昭 ..
发布时间:2021-12-26 10:53:47 C/C++开发

Python 依赖注入框架

是否有与 Guice 等效的框架(http://code.google.com/p/google-guice) 用于 Python? 解决方案 我没用过,但是Spring Python 框架基于 Spring,实现了 反转控制. Python 项目中似乎也有一个 Guice:snake-guice ..
发布时间:2021-12-26 10:53:25 Python

没有“switch"语句的策略模式?

我一直在阅读有关策略模式的一些资料,并有一个问题.我在下面实现了一个非常基本的控制台应用程序来解释我的要求. 我已经读到在实施策略模式时使用“switch"语句是一个危险信号.但是,我似乎无法摆脱在此示例中使用 switch 语句的情况.我错过了什么吗?我能够从 Pencil 中删除逻辑,但是我的 Main 现在有一个 switch 语句.我知道我可以轻松创建一个新的 TriangleDra ..

如何正确进行依赖注入(在 Spring 中)?

我对使用 Spring 将对象注入到类有疑问.我在我的项目中使用了这种代码: @Resource//或 @Autowired 甚至 @Inject私有 PersonRepository personRepository; 然后在方法上正常使用它: personRepository.save(p); 否则我在 Spring 示例中发现,注入构造函数: private final Perso ..
发布时间:2021-12-26 10:52:56 Java开发

HK2 IterableProvider 命名方法未找到实现

我在尝试注入绑定了两个服务的合同时遇到问题. 我正在使用 Jersey,并扩展 ResourceConfig 来配置我的应用程序,我在其中绑定了两个不同的实现(类 FooImpl1 和 FooImpl2>) 到同一个合约(接口 Foo),对它们进行不同的排名.这些实现中的每一个都使用 @Named 及其名称进行注释. 在我的一个控制器中,我想访问这两个实现,所以我注入了一个 Itera ..
发布时间:2021-12-26 10:52:26 Java开发