写点什么

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

用户头像
orchid9
关注
发布于: 2020 年 09 月 27 日

核心思想:依赖倒置核心思想是倒置依赖关系,高层依赖低层抽象(属于高层),低层实现低层抽象,低层抽象在概念上属于高层。高层决定低层,高层模块定义低层模块抽象接口,

低层模块实现该具体接口。换句话说,概念上由高层来定义,具体逻辑由低层来实现。

实现过程:

本身的依赖关系是高层依赖低层,决定低层的逻辑是低层的具体实现,现在抽象出其低层抽象(高层),高层对其进行依赖,具体使用哪个低层,由高层决定,而不是由低层决定,

此种方式实现了依赖倒置,将高层对低层具体的依赖,转为高层对高层的依赖(低层抽象),即高层决定用哪个低层,从而达到依赖倒置的效果。

此过程可以看错是一个面向接口的编程。

官方语言;

1、高层决定低层,高层模块定义低层模块抽象接口,低层模块实现该具体接口。换句话说,概念上由高层来定义,具体逻辑由低层来实现。

2、高层模块不能依赖低层模块,而是大家都依赖于抽象;

3、抽象不能依赖实现,而是实现依赖抽象。

高层依赖低层缺点:如果其他层次依赖该高层,也会依赖其依赖低层的具体实现,耦合度大。此时采用依赖倒置,高层不再依赖低层的具体实现,

而是依赖低层的抽象,那么高层被复用时,重新定义一个新的低层实现即可,而高层无需关注低层具体实现。

好莱坞原则,Don't call me; I'll call you。由上述可见,和好莱坞原则很相似,不是低层决定高层,而是高层决定用哪个低层。

用户头像

orchid9

关注

还未添加个人签名 2018.08.21 加入

还未添加个人简介

评论

发布
暂无评论
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?