依赖倒置及 Cache 重构设计

作业一:
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则:
1.高层模块不能依赖低层模块,而是大家都依赖于抽象;
2.抽象不能依赖实现,而是实现依赖抽象

好莱坞原则,在我理解来看,就是:等我需要你的时候,我自然会找你。等我不需要你的时候,不要来影响我。
站在程序的角度: 要在控制层、接口层,控制业务功能的主要业务规则编排顺序,具体规则实现交由实现类实现。当业务编码实现类 1 发生变化时,则不影响业务编码实现类 2 和业务编码实现类 3,同时也不影响业务编排接口的调用顺序,也不影响控制层的正常调用。
作业二:
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
没具体关注某个框架的的依赖倒置,只能从同学那里抄一个:

作业三:
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。

优化后的类图:

评论