写点什么

训练营第二周作业 1

用户头像
Yangjing
关注
发布于: 2020 年 09 月 26 日
训练营第二周作业1
  1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为“好莱坞原则”?

依赖倒置原则指高层模块不依赖低层模块,低层模块也不依赖高层模块。低层模块和高层模块都依赖抽象,抽象是属于高层模块创建的。这样使系统的类的依赖就发生了变化,开发顺序也发生了变化,先由高层模块定义好接口,高层和低层都可以同时进行开发,低层根据高层定义的抽象接口进行编程。

在系统中,高层模块是调用方,低层模块是被调用方。没有依赖倒置前,调用方直接调用被调用方,所以高层依赖底层,现在调用方不直接调用被调用方,而直接调用的定义的接口,特别是在实现框架时,框架调用的都是规范的接口,而不去调用实际的接口实现,这样就将程序的控制流程倒转了。

好莱坞法制:Don't call me, I'll call you。 好莱坞的经纪人别打电话给演员说,不要打电话给我,我会打电话给你。高层会去调用低层模块,低层模块不会去调用高层模块。经纪人会打电话给演员,演员不要打电话给经纪人。这里把好莱坞的经纪人理解为高层模块,演员理解为低层模块。



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

对于应用程序,只会用到 Cache 类中的 get、put、delete 方法,它们不需要知道 Cache 类中的 reBuild 方法;对于远程调用,只需要知道 Cache 类中的 reBuild 方法,不需要知道其他方法。

所以抽象出两个接口 ICache 供应用程序依赖,IRefresh 供远程调用依赖。



发布于: 2020 年 09 月 26 日阅读数: 42
用户头像

Yangjing

关注

还未添加个人签名 2017.11.09 加入

还未添加个人简介

评论

发布
暂无评论
训练营第二周作业1