架构师训练营第二章作业

发布于: 2020 年 06 月 17 日

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

依赖倒置原则:

高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象

抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

遵循依赖倒置原则的编码守则:

1.应用代码中多使用抽象接口,尽量避免使用那些多变的具体实现类。

2.不要继承具体类,如果一个类在设计之初不是抽象类,那么尽量不要去继承它。对具体类的继承是一种强依赖关系,维护的时候难以改变。

3.不要重写(override)包含具体实现的函数。

好莱坞原则:不要给我们打电话,我们会给你打电话

好莱坞原则是用在系统的高层组件与底层组件之间。高层组件不应该直接调用低层组件,而是从容器获取。

而低层组件,只需要关注实现定义好的接口,不需要关注谁来调用自己,什么时候被调用。

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

springMVC, controller层使用service层组件时,只通过注解标记使用到的service,不会直接使用service的实现类,程序运行时通过spring框架去注入实现类。

所以如果业务细节有变化,只需要在service的实现类里更改业务代码,无需改变controller

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

用户头像

JUN

关注

还未添加个人签名 2017.12.06 加入

还未添加个人简介

评论

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