Ser*_*ero 59 architecture oop dependency-injection
从".Net中的依赖注入"一书中我知道应该在应用程序的组合根处创建对象图,这对我来说在使用IoC容器时很有意义.
在我尝试使用DI时所见到的所有应用程序中,总有两个构造函数:一个具有依赖关系作为参数的构造函数和一个没有参数的"默认"构造函数,而这些构造函数又调用另一个"newing"所有的依赖关系,但在上述书中,这被称为"混蛋注射反模式",这就是我曾经知道的"穷人的注射".
现在考虑所有这些,我会说"穷人注射"只是不使用IoC容器而是在所述组合根上手动编码所有对象图.
所以我的问题是:
谢谢
Mar*_*ann 54
说到DI,那里有很多相互矛盾的术语.术语穷人的DI也不例外.对某些人来说,这意味着一件事,而对于其他人来说则意味着不同的东西
我想用本书做的一件事就是为DI 提供一致的模式语言.当涉及到使用冲突的所有条款时,我有两种选择:提出一个全新的术语,或者选择最普遍的用法(根据我的主观判断).
一般来说,我更喜欢重复使用现有的术语,而不是构成一种全新的(因此是外来的)模式语言.这意味着在某些情况下(例如穷人的DI),你可能对这个名称的概念与书中给出的定义有不同的概念.这通常发生在模式书籍上.
至少我发现它让人放心,这本书似乎完全解释了穷人的DI和Bastard注射,因为OP中给出的解释是现实的.
关于DI容器的真正好处,我将引用您的答案:反对控制容器的反转
PS 2018-04-13:我想指出,我多年前就已经开始认识到,穷人的DI这个词在传达原则的本质方面做得很差(原文!),所以多年来,现在,我把它称为Pure DI.
| 归档时间: |
|
| 查看次数: |
14123 次 |
| 最近记录: |