做一个有原则的码农可好?

这一节跟着老师学习软件设计原则
1 什么是依赖倒置原则?为什么依赖倒置原则又被称为好莱坞原则?
依赖倒置原则指的底层依赖于上层定义的接口,通常指底层实现上层定义的接口,通俗一点说,就是上层逻辑定义了一个功能接口,需要底层帮他实现。
传说在好莱坞,每个人都有一个明星梦,不是说自己会演戏,就是说自己写了个什么剧本要不要看看,可以想像得到演艺公司每天要接受多少这样的电话骚扰了吧,演艺公司不得不定下规则,不让人主动跟他们联系,而是把材料递上来,演艺公司看中满意的,再跟那人联系,如果把演艺公司看作是上层,演员或剧作家看作是下层,这像不是上层给下层定了一个规则,下层必须依赖于上层的规则去准备好材料,等待上层打电话。
2 请你描述一下你所熟悉的框架,说说它是如何实现依赖倒置原则的。
所谓依赖倒置原则,可以理解为服务调用提供接口,要求服务实现这个接口,与传统的服务方提供接口,调用方只能按照服务方提供的接口进行调用相倒置。在我们熟透的 Spring 框架中,这样的回调接口有很多,他们都是调用方定义的接口,比如:ApplicationContextAware、ApplicationListener 接口。
3 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
修改前:

修改后:

评论