什么是依赖倒置原则
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖实现,实现应该依赖其抽象。
当高层模块依赖了低层模块之后,高层模块总要等待低层模块开发出来才能调用,而当我们遵循依赖倒置原则之后,面向接口编程,减少类间的耦合性。
好莱坞原则
“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这就是著名的好莱坞原则。在好莱坞,演员把简历递交给演艺公司后就只有回家等待。由演艺公司(高层)对整个娱乐项的完全控制,演员(底层)只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。所以依赖倒置原则也被称为好莱坞原则。
举例:以Tomcat为例,Tomcat在设计时遵循了J2EE规范,通过web.xml实现了Servlet接口,接收数据包后通过Servlet接口传递给应用程序,对于应用程序(底层)来说,不需要调用Tomcat(高层)这样的框架,而是框架调用应用程序。
请用接口隔离原则优化Cache类的设计,画出优化后的类图
111.png