架构师训练营 week2 课后练习

用户头像
花果山
关注
发布于: 2020 年 11 月 01 日
  1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

依赖倒置原则是指高层模块不要依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。

总结起来主要有以下两点:

高层模块不应该依赖低层模块,二者都应该依赖抽象。

抽象不应该依赖具体实现,具体实现应该依赖抽象。

“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这就是著名的好莱坞原则。在好莱坞,演员把简历递交给演艺公司后就只有回家等待。由演艺公司(高层)对整个娱乐项的完全控制,演员(低层)只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。所以依赖倒置原则也被称为好莱坞原则,如Tomcat、Spring都是基于这个原则设计出来的,应用程序(低层)不需要调用Tomcat或者Spring(高层)这样的框架,而是框架调用应用程序。

举例:

Tomcat 是运行 Java Web 应用程序的容器,我们编写的 Web 应用程序代码只需要部署在Tomcat 容器下,便可以被 Tomcat 容器调用执行。按照之前的划分原则,Tomcat 就是高层模块,我们编写的 Web 应用程序代码就是低层模块。Tomcat 和应用程序代码之间并没有直接的依赖关系,两者都依赖同一个“抽象”,也就是 Servlet 规范。Servlet 规范不依赖具体的 Tomcat 容器和应用程序的实现细节,而 Tomcat 容器和应用程序依赖 Servlet 规范。



  1. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。



发布于: 2020 年 11 月 01 日 阅读数: 6
用户头像

花果山

关注

还未添加个人签名 2019.05.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 week2 课后练习