design-patterns - 通过引用依赖注入传递
问题描述
我试图从"Global state is evil"的角度来理解依赖注入。全局状态可以通过依赖注入来避免,因为只允许在依赖注入的函数/类的本地范围内修改依赖。如果依赖项是按值传递的,则这适用。
但是通过引用/指针传递依赖项仍将允许其他部分/系统在其注入的类/函数中更改其生命周期内注入的依赖项的状态。
通过引用传递是注入依赖项的不正确方式吗?我们是否应该像在 C++ 中那样通过 unique_ptr 拥有依赖关系?(Java 中的替代方案是什么?)注入依赖项的正确方法是什么?我们如何避免在注入的依赖项的词法范围之外对全局状态进行推理?
解决方案
推荐阅读
- armeria - 如何调用多个服务?
- python - 带有存储触发器的谷歌云函数 python37 不会部署,也不会提供任何日志
- ios - 为什么在sceneView中physicsBody比视觉模型大?
- java - 什么是 RSA 加密中的“连接到系统的设备无法运行”错误?
- angular - 角度路由器:命名的出口似乎不适用于相对路由,也不适用于延迟加载的模块
- android - 通过 Android Studio 发送 shell 命令或类似于正在运行的 android 应用程序的东西
- r - 无法下载有关 rsconnect 的报告
- java - java 8将多个键映射到相同的值
- java - 这样声明的数组在哪里 int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; 在java中得到存储?
- c++ - 什么是 C++17 中 std::unary_function 的等效替代品?