架构师训练营第 1 期 -week2
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
什么是依赖倒置原则
DIP -Dependency Inversion Principle
高层模块不能依赖低层模块,而是大家都依赖于抽象;
抽象不能依赖实现,而是实现依赖抽象。
以前是底层定义接口,供高层使用。DIP是高层根据业务定义接口,底层来实现。
DIP倒置了模块或包的依赖关系,初期根据业务定义好抽象/接口,底层实现抽象/接口,在底层没有实现时,高层就能继续开发。底层实现有变动时,只要抽象不变,高层就不需要变动。
为什么有时候依赖倒置原则又被称为好莱坞原则
什么是好莱坞原则?
好莱坞原则:别打电话给我,有事我会打电话给你(don't call us, we'll call you)
好莱坞原则用在系统的高层组件和低层组件之间,低层组件将自己挂钩到系统上,高层组件会来决定什么时候和如何调用低层组件。高层组件对待低层组件的方式是,别来调用我,我会调用你。
依赖倒置原则更多是说,我们应该面向接口编程;好莱坞原则是说,低层组件将自己挂钩到系统上,由系统来主动调用。
好莱坞原则和依赖倒置原则有很多相似之处,所以依赖倒置原则又被称为好莱坞原则
2. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论