第二周
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则是程序要依赖于抽象接口,不要依赖于具体实现,并且高层次的模块不应该依赖于低层次的模块,抽象不应该依赖细节,细节应该依赖抽象;采用依赖倒置原则好处就是可以减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性;如果程序之间依赖于具体实现,模块与模块之间高度耦合,一但需求变更就需要大面积重构。
为什么称为好莱坞原则?
Tomcat 是运行 Java Web 应用程序的容器,我们编写的 Web 应用程序代码只需要部署在 Tomcat 容器下,便可以被 Tomcat 容器调用执行。按照之前的划分原则,Tomcat 就是高层模块,我们编写的 Web 应用程序代码就是低层模块。Tomcat 和应用程序代码之间并没有直接的依赖关系,两者都依赖同一个“抽象”,也就是 Servlet 规范。Servlet 规范不依赖具体的 Tomcat 容器和应用程序的实现细节,而 Tomcat 容器和应用程序依赖 Servlet 规范。所以依赖倒置原则也被称为好莱坞原则,如 Tomcat、Spring 都是基于这个原则设计出来的,应用程序(底层)不需要调用 Tomcat 或者 Spring(高层)这样的框架,而是框架调用应用程序。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论