我遇到了关于DI而没有DI的例子。但是真的不能理解它是如何不同的。可能是完整代码连同值可能能够明确显示差异。不幸的是,我不确定如何使这些例子更明智或使差异清晰可见。有人可以提供适当的缺失代码,使其更加合理。附加示例的屏幕截图。
如何强迫一方而另一方不强?
答案 0 :(得分:0)
<强> DI:强>
这意味着如果您需要/需要,您可以创建Employee
类并注入 Address
对象,这样就可以使用 any 您的员工的地址,而不必担心该字段(因为您不关心哪个地址,将由将使用此Employee类的人负责)。
基本上是这样的:
// constructing Employees from some other class
Employee spanishEmployee = new Employee(spanishAddress);
Employee russianEmployee = new Employee(russianAddress);
您将地址与员工分离。
没有DI: 您看到的第一个示例显示,在创建Employee对象时,您还需要担心有关Address字段,因为您的Employee将其作为依赖,您无法动态选择在创建员工时