架构师训练营第二周作业
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被成为好莱坞原则?
依赖倒置原则
高层模块不能依赖低层模块,而是大家都依赖与抽象;
抽象不能依赖实现,而是实现依赖抽象。
在传统的应用架构中,高层模块直接依赖低层模块,限制了高层模块被重用的可行性。依赖倒置原则把高层模块对低层模块依赖进行解耦,高层模块定义好抽象的接口,低层模块去实现接口,高层模块不用知道低层模块是怎么实现的,直接通过接口调用。
好莱坞原则
别调用我们,我们会调用你。这是框架常用的原则,框架定义好接口,低层模块实现接口,高层模块知道什么时候以及如何调用低层模块
依赖倒置原则和好莱坞原则
两者都是高层模块定义接口,低层模块实现接口,高层模块通过接口调用低层模块,本质上类似。
2. 请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
Go语言IO包中定义了读接口
文件、字节流、标准输入等实现接口,上层组件通过调用该接口实现多种低层组件的读取。
3. 请用接口隔离原则优化Cache类的设计,画出优化后的类图
评论