作业 2
.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
即高层模块不应依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
倒置有两层含义:一是模块或包的依赖关系的倒置;二是开发顺序和职责的倒置。高层模块定义接口,代层模块按接口实现业务逻辑。
好莱坞原则即“Don't call me, I will call you”,与依赖倒置原则的思想一致。都是不需要先定义和实现好底层模块来供高层调用,而是由高层决定何时以何种方式通过接口来调用底层。
2.请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
spring通过Ioc与DI实现依赖倒置。spring框无需主动创建对象,而是持有对所需实例的引用,对象的创建在Ioc容器中完成,再由DI注入到所需的位置,完成实例的关联。
3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
![](https://static001.geekbang.org/infoq/72/7279d80120adf19d73c598821ca49b89.png)
评论