1.3.3 什么是好莱坞法则

本文详细介绍了好莱坞法则在编程中的应用,特别是在通知机制和框架设计中的区别。好莱坞法则提倡下层模块通过通知上层模块,而不是被上层模块不断轮询。文章对比了框架与通知的异同,强调了在事件驱动设计中的重要性,并批评了将好莱坞法则等同于控制反转或依赖注入的误解。最后,列举了不同场合下好莱坞法则的不同解释和应用。
摘要由CSDN通过智能技术生成

返回目录 [ 最后更新:2021.3] 《编程导论(Java)·9.3.1回调》什么是好莱坞法则


1.3.1轮询VS. 通知 下层模块如何将进度数据传递给上层呢?轮询或通知

1.3.2 观察者模式  通知者在发生某种事件(如状态变化)时,通知所有已注册的观察者/监听器。

1.3.3 什么是好莱坞法则

好莱坞法则(the Hollywood Principle)原文:"Don't call me; I'll call you." (don't call us, we'll call you)。好莱坞法则并不深奥,GoF引用过的[ Swe85]的原文为:Don't call us, we'll call you (Hollywood's Law): A tool should arrange for Tajo to notify it when the user wishes to communicate some event to the tool, rather than adopt an 'ask the user for a command and execute it' model。其关键词为notify。

1. 本节的好莱坞法则

在通知机制中,上层模块女演员/Actress需要获得数据,她可以采用轮询方式获得数据,也可以应用通知方式/好莱坞法则获得数据。好莱坞法则意味着采用通知而非轮询。

一般而言,上层模块不管是Demo 还是Actress (即you)调用下层模块导演/Director (即me)天经地义;但是,当上层模块需要获得数据时,下层模块Director (即me)会说:

★好莱坞法则:请上层模块(不限于你),不要轮询/骚扰我,我通知你。

所以,当下层的导演说出:"Don't call

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值