架构师训练营作业(第二周)

发布于: 2020 年 06 月 17 日
架构师训练营作业(第二周)

作业一:

  • 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

依赖倒置原则:

  1. 高层模块不能依赖低层模块,二者都应该依赖于抽象;

  2. 抽象不能依赖于具体实现,具体实现应该依赖于抽象

好莱坞原则:

  1. Don't call me, i'll call you

  2. 强调高层对低层的主动作用

依赖倒置原则和好莱坞原则都由高层决定低层,举个例子,一个导演(高层)有个剧本,需要一个会演戏的人(抽象)来演某个角色,A、B、C(低层)都想来参演,那么他们首先必须会演戏,成为一个会演戏的人;高层决定完成一件事情,需要什么,低层去完成高层的需求。

实质就是面向接口编程

作业二:

  • 请描述一个你熟悉的框架,是如何实现依赖倒置原则的。

spring框架的控制反转实现了依赖倒置原则。

  1. 传统方式”中,当我们需要用到其他对象的资源时,就直接通过“new”关键字创建一个对象,都是对象主动去创建需要的依赖对象。这个过程中就容易造成对象之间关系之间依赖程度较高,导致类之间的耦合度高,不利于组件及代码的重用。

  2. Spring中,组件之间的依赖关系由容器在应用系统运行期来决定,由容器动态地将具有依赖关系的实例注入到相应的组件或对象中。

实现方法:

  1. 提供类和类间的依赖关系

  2. 将需要管理的对象告诉spring容器(xml、yml等方式)

  3. 将对象间的依赖关系告诉spring容器

  4. spring容器启动时,完成对象初始化和依赖注入

作业三:

请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。

用户头像

战峰

关注

还未添加个人签名 2018.07.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营作业(第二周)