好莱坞原则概述

来源:互联网 发布:拍电影的软件下载 编辑:程序博客网 时间:2024/04/29 17:00

不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这是著名的好莱坞原则。在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。

模板方法模式充分的体现了“好莱坞”原则。IOC是Inversion of Control的简称,IOC的原理就是基于好莱坞原则,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。

所有的framework都是遵循好莱坞原则设计的,否则就不叫framework。
framework使用IoC的目的:
对基于接口编程的支持减少单件和抽象工厂的依赖降低业务和框架的耦合业务组件可复用,可插拔。强调高层对低层的主动作用,即低层应该只管好自己的工作(具体实现),而高层自有它自己的工作(这就是管理低层的逻辑们,或者说从client到具体实现的一系列中间逻辑),在不需要到某个低层的时候,高层并不会调用到这个具体低层,低层永远不需要向高层作出表示,,说它需要被调用,,(即在所有的处于使用者与现有代码的中间的,用于隔离和解偶二者的,那些中间逻辑中,低层逻辑永远不要涉入高层的实现,而只要高层通过某个逻辑去涉入低层的实现,也即低层应不要调用高层,只有高层才会去调用低层,这才是合理的,我们应尽量避免向上调用和相互调用)

好莱坞,一个让许多俊男靓女欲罢不能的地方。在通往成功的路上,有谁不愿意通过捷径而一炮而红,在这之中影视声色是许多人会尝试的方式之一。

不过,好莱坞不是一般的场所,它不是什么阿猫阿狗都可以进入的地方,他们不缺少俊男靓女。因此,如果你有一双俊俏的脸庞,你不要在他们面前显摆,他们不在乎。你可能会说,我的演技非常棒,哦,没用,这样的人在好莱坞遍地都是。

梦想进入好莱坞的人们,你们不要找好莱坞。那怎么办呢?答案是,让好莱坞来找你!

这就是非常著名的好莱坞原则。

在网络编程中,特别是server端编程时,我们可能会大量利用好莱坞原则。在server端编程时,我们大多会利用OS提供的一些功能强大的时间分派机制,比如select/poll/epoll/WaitForMultipleObjects等,通过对这些机制的再次包装和抽象,牛人们提出了著名的reactor模式。在此模式中,我们使用者不用关心以下事情:
1)socket什么时候建立连接
2)socket什么时候有数据带来
3)socket什么时候把数据发送
4)socket什么时候断开连接

我们关心的是这些事件带来的时候,我们怎么处理?比如socket建立连接了,你是否要做一些log,以便以后查看。收到数据之后,你是否要做完整性验证等。我们不用关心事件怎么来(HOW),什么时候来(WHEN),我们关心的唯一一件事是处理它(Do it)。在这里如果把reactor等抽象系统比喻成好莱坞的话,网络上的数据比喻成影片或剧本的话,我们可以把我们对数据的处理比喻成演员。这里,演员不用去找剧本,好莱坞会带着剧本来找你,你只要乖乖着等在家里不要乱动,等剧本来了,你给我好好处理即可。

原创粉丝点击