Java 我不知道';我不明白好莱坞的原则

Java 我不知道';我不明白好莱坞的原则,java,inversion-of-control,Java,Inversion Of Control,对不起我的英语 我在阅读《头先设计模式》一书时偶然发现了这一原则。我看到其他人问同样的问题和一些文章,但我还是不明白 有人能用最简单的术语给我解释一下吗 我读过的大多数示例都假设读者已经使用了支持IoC的框架,比如Spring。我以前从未使用过这些框架,因为我还是个初学者 谢谢。好莱坞原则-这是什么意思? 这意味着高级模块应该调用低级模块 通过遵循这一原则,我们的代码趋向于松散耦合。 松散耦合的代码意味着我们不需要对其他类或对象进行不必要的引用。它有助于软件的可维护性 实施 Hollywood原

对不起我的英语

我在阅读《头先设计模式》一书时偶然发现了这一原则。我看到其他人问同样的问题和一些文章,但我还是不明白

有人能用最简单的术语给我解释一下吗

我读过的大多数示例都假设读者已经使用了支持IoC的框架,比如Spring。我以前从未使用过这些框架,因为我还是个初学者

谢谢。

好莱坞原则-这是什么意思? 这意味着高级模块应该调用低级模块

通过遵循这一原则,我们的代码趋向于松散耦合。 松散耦合的代码意味着我们不需要对其他类或对象进行不必要的引用。它有助于软件的可维护性

实施 Hollywood原则可以使用事件或回调轻松实现

观察者模式是实现好莱坞原则的一个众所周知的例子

另一种利用好莱坞原则的设计模式是模板模式。 在模板模式中,超类定义了控制流。 然后子类实现抽象方法或代码插件

框架也是众所周知的好莱坞原则的例子。 在框架中,我们注入代码。我们可以在类中创建子类或插件,这些类由框架调用以完成任务

例子 假设我们正在创建一个字处理器应用程序。我们将有两个类,
Document
Page

这里,
文档
是高级模块,
页面
是低级模块。 这是因为
文档
可以有一个或多个
页面

如果要重新呈现页面,
page
不应调用
Document
对象。 对于
文档
中的任何更改,它应该调用
页面
重新呈现它。
文档
可以通知
页面
对象使用事件或回调重新呈现


另外,如果我们在这里遵循依赖倒置原则,
文档
不应该直接依赖于
页面
,而是使用一些抽象概念。

这本书是否提到了“不要打电话给我们,我们会打电话给你”?@Kevin Anderson是的!“好莱坞”的联系是“别打电话给我们,我们会打电话给你”据称是娱乐界使用的标准礼貌但无误的解雇用语。这是一个标准的笑话:有抱负的演员走上舞台,自我介绍并开始试镜;十秒钟后,演员总监用“谢谢你,就这些了。不要打电话给我们;我们会打电话给你的。下一个!”。在示例部分,我理解正确了吗@ABC看一看,这看起来是正确的,看看这篇文章底部的例子:(也读一读这篇文章,用一个用例很好的解释)