架构师训练营第二周作业

用户头像
张小胖
关注
发布于: 2020 年 11 月 01 日

1、请描述什么是依赖倒置原则?

依赖倒置原则是一种高层模块和低层模块的交互方式。



一般的软件开发是高层模块调用低层模块,然后高层模块依赖于低层模块的实现。

 

而依赖倒置原则是高层模块既不依赖于低层模块,低层模块也不依赖于高层模块。



他们共同依赖于某一个抽象。

这个抽象是高层模块的,高层模块定义出这个抽象,而低层模块去实现这种抽象。

 

抽象不依赖于实现,而是实现依赖于抽象。也就是说,先有一个抽象的接口,然后再有具体的代码。

 

这种抽象就类似于一个规范,当低层模块按照某一种规范去编码和实现的时候,高层模块在运行的时候,就能够加载低层模块的代码,然后实现某种功能。

 

也可以想到很多开源软件的配置文件,为什么我们在配置文件中修改某个参数,然后软件的功能就改变了,这实际上也是依赖倒置原则。

 

2、为什么说依赖倒置原则又被称为好莱坞原则?

 

好莱坞原则是叫做经纪人对演员说的Do not call me ,I will call you!

 

依赖倒置原则也是如此,

低层模块只实现代码,至于代码什么时候被调用,低层模块是不知道的,是高层模块根据他们约定的某个抽象,然后在合适的时机调用那个抽象,也就是说是高层模块调用低层模块,跟好莱坞原则里面的Do not call me ,I will call you!类似。

 

cache类的优化

把cache类的 put get delete 方法对应用程序封装为一个接口,

对远程的系统程序的rebuild封装为一个接口,实现的方式如下。



 用适配器的方式来实现的

对于应用程序,生成一个应用程序的适配器,然后实现一个 objectmodify的接口,而cache的实现类作为它的成员变量。

当实现objectmodify 包括 put 、get、delete时,就调用cache类的 put、get、delete方法



对于系统远程程序 systemremote,生成一个adapter,实现一个rebuid的方法,cache实现类,作为它的一个成员变量,当adapter调用rebuild的时候,就调用cache类的rebuild方法。

 

发布于: 2020 年 11 月 01 日 阅读数: 4
用户头像

张小胖

关注

还未添加个人签名 2017.12.12 加入

还未添加个人简介

评论

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