【第二周作业】
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
高层模块不要依赖低层模块。高层模块和低层模块应该通过抽象来相互依赖。抽象不要依赖具体实现细节,具体实现细节依赖抽象。
High level modules should not depend upon low level modules. Both should depend upon abstractions.
Abstractions should not depend upon details. Details should depend upon abstractions.
好莱坞原则:Don't call me; I'll call you 不要调用我,让我来调用你
依赖倒置原则和好莱坞原则都表达了高层模块不应该依赖底层模块,要依赖于抽象。
2.请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
《设计模式之美》专栏中,王争老师举了个例子:
Tomcat容器便是使用了依赖倒置原则,我们编写的web应用程序代码只需部署在Tomcat容器下,便可以被Tmocat容器调用执行。Tomcat是高层模块,web应用层序是低层模块。Tmocat和应用层序代码之间并没有依赖关系,两者都依赖同一个抽象“Servlet”规范。Servlet规范不依赖具体的Tomcat容器和应用程序的实现细节,而Tomcat和应用程序依赖Servlet规范。
3、请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论 (1 条评论)