架构师训练营第二章作业
一、请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
高层模块不应该依赖底层模块,二者都应该依赖抽象
抽象不应该依赖具体实现,具体实现应该依赖抽象
依赖倒置原则也被称为好莱坞原则:Dont't call me, I will call you. 即不要来调用我,我会调用你
二、请描述一个你熟悉的框架,是如何实现依赖倒置原则的
JDBC 我们在java开发中访问数据库,代码并不直接依赖数据库驱动,而是依赖JDBC,当应用程序需要更换数据库,不需要修改任何代码。这正是因为应用代码,高层模块,不依赖数据库驱动,而是依赖抽象JDBC,而数据库驱动,作为底层模块,也依赖JDBC
Tomcat、Spring 都是基于这个原则设计出来的,应用程序不需要调用Tomcat或者Spring这样的框架,而是框架调用应用程序。而实现这一特性的前提就是应用程序必须实现框架的接口规范,比如实现Servlet接口
三、 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论