架构师训练营 WEEK2 作业
作业一:
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则,即DIP,Dependency Invertion Principle。
高层模块不能依赖低层,而是大家都依赖于抽象。
抽象不能依赖于实现,而是实现依赖抽象。
所谓好莱坞原则,即don‘t call us, we‘ll call you,强调高层对低层的主动调用,低层应该只做自己的具体实现,而高层自有它自己的工作,在不需要用到某个低层的时候,高层并不会调用到这个具体低层,低层永远不需要向高层作出表示,说它需要被调用,只有高层才会去调用低层。
好莱坞原则和依赖倒置原则的异曲同工之处在于,强调高层模块不依赖底层模块,而是都是依赖抽象接口,这个抽象接口通常是由高层模块定义,底层模块实现。应用程序不需要调用Tomcat或者Spring这样的框架,而是框架调用应用程序。而实现这一特性的前提就是应用程序必须实现框架的接口规范,比如实现Servlet接口。
作业二:
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
Spring框架,给了规范来约束用户,用户通过编写符合框架要求的controller、service和dao来实现想要功能。spring作为高层的框架,不依赖于低层,也不依赖于实现,来完成自己的工作,实现了依赖倒置原则。
作业三:
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论