- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我仔细阅读了有关 DI 的内容,这似乎很有趣。到目前为止,我完全没有它。
我看到的所有示例都与 JNDI 以及 DI 如何帮助您提高灵 active 有关。
您使用 DI 解决了哪些现实生活中的应用程序/问题很难以其他方式解决?
更新
到目前为止,所有答案都具有教育意义,但换个说法,我正在寻找你编程生活中的例子,这让你说“这个问题最好用 DI 框架解决”。
最佳答案
就在前几天,我决定阅读依赖注入(inject)。在那之前,我只知道这个词。老实说,我对 Martin Fowler 的 article 的 react 是,“就这样?”
我必须同意James Shore :
"Dependency Injection" is a 25-dollar term for a 5-cent concept.
这并不意味着它是一个坏的概念。但说真的,当一个实例 A
需要与另一个实例 B
一起工作时,它归结为以下选择:
让A
找到 B
:
这意味着 B
必须是全局的。邪恶。
让 A
创建 B
:
很好,如果只有 A
需要 B
。只要 C
还需要 B
,请在此列表中将 A
替换为 C
。请注意,测试用例将是一个 C
,所以如果您确实想测试,这个选择也没有了。
给 B
给A
:
这就是依赖注入(inject)。
我错过了什么吗? (请注意,我来自 Python 世界,所以可能有一些我没有看到的语言特定点。)
关于c# - 使用依赖注入(inject)的现实世界解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2107392/
笙歌 痞性. 剩余 青怏 洒脱 现实 搁浅° 软萌 路途 娼妓 离骚 逐你 微尘 迷魂 ▼ 扎心 堇夏 残年っ ╭淡妆╮ 24K.纯疯 隐痛
我正在尝试不费吹灰之力地实现完全有效的持久性无知。不过我有很多问题: 最简单的选项 这真的很简单——可以像在 SOA 中那样使用 Spring Data 注释对实体进行注释(但让它们真正执行逻辑)?除
我想完成一项简单的任务。 我在可变宽度容器中有一个图像。 容器的宽度可以为 300、400、700 或 900 像素。这是通过媒体查询完成的图像应占据该容器的所有宽度。所以它也将是 300、400、7
我在使用 Storyboards AutoRotation 和 iPhone 时遇到问题。我已经将一个非常简单的项目与 3 个 View Controller 放在一起,并将其上传到 gitHub 以
我是一名优秀的程序员,十分优秀!