好莱坞原则

# 什么是好莱坞原则?

好莱坞原则:别调用我们,我们会调用你

作用:防止 “依赖腐败”

解释:在好莱坞原则之下,我们允许低层组件将自己挂钩到系统上,但是高层组件会决定什么时候和怎样使用这些低层组件。换句话说,高层组件对待低层组件的方式是 “别调用我们,我们会调用你”

# 好莱坞原则和模板方法

当我们设计模板方法模式时,我们告诉子类,“不要调用我们,我们会调用你”。

还有一些模式也采用了好莱坞原则:工厂方法模式、观察者模式等

# 好莱坞原则和依赖倒置原则之间关系如何?

依赖倒置原则教我们尽量避免使用具体类,而多使用抽象。

而好莱坞原则是用在创建框架或组件上的一种技巧,好让低层组件能够被挂钩进计算中,而且又不会让高层组件依赖低层组件。两这个的目标都是在于解耦,但是依赖倒置原则更加注重如何在设计中避免依赖。

好莱坞原则教我们一个技巧,创建一个有弹性的设计,允许低层结构能够互相操作,而又防止其他类太过依赖它们。

# 低层组件不可以调用高层组件中的方法吗?

不尽然,事实上,低层组件在结束时,常常会调用从超类中继承来的方法。我们所要做的是,避免让高层和低层组件之间有明显的环状依赖。