ABC*_*ABC 5 java inversion-of-control
对不起我的英语不好。
我在阅读《Head First Design Patterns》一书时偶然发现了这个原则。我看到其他人在 StackOverFlow 上问同样的问题和一些文章,但我仍然不明白。
有人可以用最简单的术语为我解释一下吗?
我读过的大多数示例都假设读者已经使用了支持 IoC 的框架(例如 Spring)。我以前从未使用过这些框架,因为我还是一个初学者。
谢谢。
已经有一段时间了,但由于观众数量太多,我解释一下。
有时被称为控制反转的好莱坞原则说“不要打电话给我们,我们会打电话给你”,从软件工程的角度来看,它指出依赖于另一个对象的对象不应该调用它,而应该等待其他的来称呼它。
这个原则对IOC的定义更加抽象。如您所知,IoC 定义了依赖关系的反转控制。因此,首先您应该有一个控制中心,负责控制依赖项,即创建它们的实例。然后,该控制中心反转创建类实例的流程。因此,当您想在ClassB中使用ClassA时,您不会创建ClassB的实例然后调用ClassA。您创建ClassA的实例并使用不同的技术将其传递给ClassB并使用它。
有关 IoC 的更多信息,请在互联网上进行一些投资,因为我刚刚解释了一些基本概念。