架构师训练营第二周作业
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方法。
版权声明: 本文为 InfoQ 作者【张小胖】的原创文章。
原文链接:【http://xie.infoq.cn/article/e70b23c75feeb367f74bc6e79】。文章转载请联系作者。
评论