架构师训练营 - 作业 - 第二周
作业一
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被成为好莱坞原则?
答:
高层模块不能依赖底层模块,而两者都依赖于抽象。
抽象不能依赖实现,而是实现依赖抽象。
更加精简的定义:面向接口编程。
好莱坞原则:Don't call me, I will call you.
框架定义好抽象接口,实现类负责具体的技术细节实现,你(实现类)不需要调用框架,框架(抽象类)会调用你。
作业二
请描述一个你熟悉的框架,是如何实现依赖倒置原则的?
答:我了解的实现依赖倒置原则的框架是 JUnit, 当你的 TestCase 实现了 setUp(), tearDown() and testXX() 方法后,你不需要去管它们在运行时是怎么被调用的,JUnit 框架在运行时会调用你的写的实现接口的详细方法。
作业三
请用接口隔离原则优化Cache类的设计,画出优化后的类图。
评论