「架构师训练营」第 2 周作业
作业 1
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被成为好莱坞原则?
依赖倒置原则:----》面向接口编程
高层模块不应依赖底层模块,高层与底层都应该依赖抽象
抽象不应该依赖实现,实现应该依赖抽象,抽象是指接口或抽象类,实现接口或继承抽象类而产生的类就是细节。
好莱坞原则:不要给我打电话,我会通知你们。
依赖倒置原则:不是服务实现来调用,而是按照接口定义来实现服务功能。
作业 2
请描述一个你熟悉的框架,是如何实现依赖倒置原则的?
依赖倒置原则
●谁依赖于谁:应用程序依赖于 IoC 容器;
●为什么需要依赖:应用程序需要 IoC 容器来提供对象需要的外部资源;
●谁注入谁:IoC 容器注入应用程序某个对象,应用程序依赖的对象;
●注入了什么:注入某个对象所需要的外部资源(包括对象、资源、常量数据)。
控制反转是 Spring 框架的核心。控制反转是依赖倒置原则的一种设计的思路,具体采用的方法就是所谓的依赖注入(Dependence Injection)。对象之间的依赖关系管理由具有对象来完成,会导致代码之间的耦合程度增强。因此对象之间的依赖关系,交由一个地方统一管理(IOC 容器)。
控制反转的实现由很多种方式,在 Spring 中,IOC 容器是实现载体,依赖注入是最主要的实现。
依赖注入,即组件之间的依赖关系由容器在应用系统运行期来决定,也就是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中。
在对象生成或者初始化的时候将数据注入到对象中,也可以通过将依赖对象的引用注入到对象的数据域中(通过对象的引用完成方法的调用)
作业三:
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论