第二周课后练习
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
1、高层模块不能依赖低层模块,而是大家都依赖于抽象。(接口由高层定义,低层实现该接口,接口属于高层),抽象不能依赖实现,而是实现依赖于抽象。
2、依赖倒置就是依赖关系的倒置,由常用的高层代码依赖低层代码倒置为低层代码依赖高层代码,常用于框架的研发。如Servlet框架的开发,就是先由java se制定了java servlet的api接口,然后由tomcat去具体做实现。
3、依赖倒置原则又被称为好莱坞原则是因为,在好莱坞拍电影时由演艺公司去选择具体的演员,与依赖倒置原则的高层调用底层代码类似。
2. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
cache 是一个最基本的接口,没有任何方法定义,它有两个子接口SystemCache和ApplicationCache。SystemCache定义了rebuild()方法,这个接口是给系统远程调用重建缓存用的,ApplicationCache定义了put、get、delete方法,是给业务程序系统用的。然后还有个具体实现实现了这两个接口,但是在调用的时候传递的是接口,所以在不同的地方暴露出来的Cache的方法是不同的。
评论