写点什么

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

用户头像
魏小龙
关注
发布于: 2020 年 09 月 26 日



《敏捷软件开发》一书分为4部分:敏捷方法、设计原则、设计模式、UML。依赖倒置原则就

是「设计原则」之一。解释为:

  • 高层模块不应该依赖低层模块,两者都应该依赖抽象

  • 抽象不应该依赖细节,细节应该依赖抽象

高层模块是指调用者,低层模块是被调用者。比如:Button--on/off-->Lamp。Button就是高层模块,Lamp是低层模块。

开关灯是书中的一个例子。但是我觉得这个例子并不容易让人理解这个原则,因为在实践中

没有谁会去为一个开关灯制造一个抽象。这个原则只有当程序复杂到需要一个协议(或约定

或规则)的时候,它的意义才明显起来。比如html协议,浏览器解释并执行html文件是高层

模块,一个html文件是低层模块。一个http容器是高层模块,我们的服务代码是低层模块

依赖倒置的前提是程序分层,而该如何分层是要我们思考的点,见机行事的地方,也就是抽象

的过程。我想用一句话概括这个原则:程序的复杂性,原来是可以通过分层解决的。

(注意是低层不是底层,老是打错字。另外,感觉一个道理其实可以用很小的篇幅讲明白的

哈?)



用户头像

魏小龙

关注

还未添加个人签名 2020.08.29 加入

还未添加个人简介

评论

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