首页 > 解决方案 > 通过引用依赖注入传递

问题描述

我试图从"Global state is evil"的角度来理解依赖注入。全局状态可以通过依赖注入来避免,因为只允许在依赖注入的函数/类的本地范围内修改依赖。如果依赖项是按值传递的,则这适用。

但是通过引用/指针传递依赖项仍将允许其他部分/系统在其注入的类/函数中更改其生命周期内注入的依赖项的状态。

通过引用传递是注入依赖项的不正确方式吗?我们是否应该像在 C++ 中那样通过 unique_ptr 拥有依赖关系?(Java 中的替代方案是什么?)注入依赖项的正确方法是什么?我们如何避免在注入的依赖项的词法范围之外对全局状态进行推理?

标签: design-patternsdependency-injectionreferenceglobal-variablesstate

解决方案


推荐阅读