第二周作业
一、请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
1、依赖倒置原理
1.1 高层模块不能依赖低层模块,而是大家都依赖于抽象;
1.2 抽象不能依赖实现,而是实现依赖抽象。
2、理解
高层:依赖方/调用方,低层:被依赖方/被调用方。高层依赖底层时,依赖于抽象,不依赖于实现,可以降低耦合。当有其他实现需要依赖时,不用变更原有实现代码,通过新增实现即可,有效控制影响范围,增强可读性和可维护性。
3、依赖倒置原则与好莱坞原则
好莱坞原则(Hollywood Principle):别打电话给我们,有事我会打电话给你。依赖倒置原则强调依赖抽象,面向接口编程,而不是实现。两者都强调不关注具体实现。具体于框架,框架相对于业务代码是高层,不应该业务代码调用框架接口,而是业务代码按照框架的规范要求完成实现,等着框架来调用。以架构师的角度,可以通过框架的规范来要求开发人员,而不是通过口头要求,提高系统质量。
二、请描述一个你熟悉的框架,是如何实现依赖倒置原则的
Spring通过IOC统一管理对象创建,我们只需要配置文件声明或者注解配置,既可以完成对象引入,而不需要自己手动创建对象,由框架来根据我们的配置来创建对象,而不是我们调用框架的接口完成对象创建,体现了依赖倒置的思想,实现了低耦合。
三、请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论