写点什么

2.8 第二周课后练习

用户头像
lithium
关注
发布于: 2020 年 11 月 01 日
  • 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?



和传统依赖关系相反(传统依赖关系是创建在高层次模块的,低层次模块创建具体的依赖策略),依赖倒置原则使得高层次的模块不去依赖低层次模块的实现细节,这样依赖的关系被倒转了,低层次模块就会依赖于高层次模块的需求抽象。这种设计有利于解耦。

为什么被称为好莱坞原则?

我理解的如下。假设一段code是这样的

void methodA() {
Class c = new Class(...);
// do something
}

这个例子里面methodA在往系统里面其他地方去"asking for dependency"

基于dependency inversion原则,这个方法就会变成:

void methodA(Class c) {
// do something
}

methodA现在不去"asking for dependency"了,把依赖直接注入,而不是让这个方法自己去请求这些依赖。这样的设计更方便于解耦合。



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



用户头像

lithium

关注

还未添加个人签名 2018.07.07 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
config不应该是独立的类,继承于cache的
2020 年 11 月 08 日 22:56
回复
没有更多了
2.8 第二周课后练习