架构师训练营第 2 期 第二周作业 1
依赖倒置原则
高层不依赖于低层,双方都依赖于高层定义的抽象(接口、配置、规则),进行面向接口编程。
依赖倒置倒置了什么?
非依赖倒置: 低层实现具体方法,然后依旧由低层抽象出接口,提供给高层调用。
依赖倒置: 高层定义抽象接口,低层完成这个接口的具体实现。
对比二者描述,具体倒置以下几点。
1、“抽象依赖实现“变更为 “实现依赖抽象”。
2、接口变更为由高层进行设计。
3、 团队的依赖关系倒置。 具体变更为低层模块开发人员依赖于高层模块的开发人员。
4、开发顺序倒置。最先进行的工作变更为:高层开发人员设计抽象接口。
为什么依赖倒置原则又被称为好莱坞原则?
don‘t call us, we‘ll call you 好莱坞原则。
演员把简历等信息,交给演艺公司后。无法主动申请演出,只能在家等待演艺公司的召唤。当演艺公司计划拍电影,向演员提供相应岗位。而演员得到公司提供的工作机会后,去相应岗位完成自己的演出。
公司提供工作岗位: 由高层模块设计接口。
公司寻找符合岗位要求的人,而不是根据演员更改自己的标准: 低层模块依赖于高层模块设计的接口。
演员无法主动工作: 低层模块无法向上调用,只能等待被调用。
演员需要履行工作职责,进行演出: 低层模块实现高层设计的抽象接口。
接口隔离优化后的类图
OperCache 接口包含 get put delete 暴露给应用程序,ManageCache 接口包含 rebuild 暴露给系统远程调用.
评论