“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这是著名的好莱坞原则。在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。
模板方法模式充分的体现了“好莱坞”原则。IOC是Inversion of Control的简称,IOC的原理就是基于好莱坞原则,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。
所有的framework都是遵循好莱坞原则设计的,否则就不叫framework。framework使用IoC的目的:
- 对基于接口编程的支持
- 减少单件和抽象工厂的依赖
- 降低业务和框架的耦合
- 业务组件可复用,可插拔