架构师训练营第二周作业
一、请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则应该遵守如下约束:
高层模块不应该依赖底层模块,而应该都依赖抽象。
抽象不应该依赖细节,细节应该依赖抽象。以抽象为基础搭建架构。
高层决定低层,订好模块的依赖关系和职责顺序。
之所以被称为好莱坞原则是因为,好莱坞有这么一句话:Don't call me. I'll call you.类比到编程,就是,我作为高层只定义好接口,我会去调用我的接口,低层要做的就是实现接口。
二、请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
在写MapReduce的时候,我们只是把作业的内容通过实现接口/继承类的方式实现,最后把作业提交;但是正在到任务运行的时候,还是框架负责调用、解析我们的类去执行,而并非我们调用框架去执行。这个应该算一个依赖倒置吧。
三、
评论