架构师训练营第二周作业

用户头像
aoeiuvzcs
关注
发布于: 2020 年 06 月 17 日



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

依赖倒置原则
  • 高层模块不能依赖低层模块,而是大家都依赖与抽象;

  • 抽象不能依赖实现,而是实现依赖抽象。



在传统的应用架构中,高层模块直接依赖低层模块,限制了高层模块被重用的可行性。依赖倒置原则把高层模块对低层模块依赖进行解耦,高层模块定义好抽象的接口,低层模块去实现接口,高层模块不用知道低层模块是怎么实现的,直接通过接口调用。

好莱坞原则

别调用我们,我们会调用你。这是框架常用的原则,框架定义好接口,低层模块实现接口,高层模块知道什么时候以及如何调用低层模块

依赖倒置原则和好莱坞原则

两者都是高层模块定义接口,低层模块实现接口,高层模块通过接口调用低层模块,本质上类似。



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



Go语言IO包中定义了读接口

type Reader interface {
// Read reads up to len(buf) bytes into buf.
Read(buf []byte) (n int, err error)
}



文件、字节流、标准输入等实现接口,上层组件通过调用该接口实现多种低层组件的读取。



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





用户头像

aoeiuvzcs

关注

还未添加个人签名 2018.03.25 加入

还未添加个人简介

评论

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