第二周作业
作业一:请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原创?
依赖倒置原则简称DIP(Dependence Inversion Principle)。
定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。核心思想是:要面向接口编程,不要面向实现编程。
所以依赖倒置原则也被称为好莱坞原则:Dont't call me, I will call you. 即不要来调用我,我会调用你。Tomcat、Spring 都是基于这个原则设计出来的,应用程序不需要调用Tomcat或者Spring这样的框架,而是框架调用应用程序。而实现这一特性的前提就是应用程序必须实现框架的接口规范,比如实现Servlet接口。
作业二:请描述一个你熟悉的框架,是如何实现依赖倒置原则的
Autofac是一种依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架),自动创建、维护依赖对象。在Autofac中的IService,IDependency,IInterceptor就是为解耦和降低类之间的依赖而设计的。
作业三:请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论