写点什么

依赖倒置原则

用户头像
旁听生
关注
发布于: 2020 年 06 月 17 日

概念

A. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。

B. 抽象不应该依赖于具体实现细节,而具体实现细节应该依赖于抽象。



解读

A.比如要实现人开灯的功能,人不需要知道灯打开的具体方式是push 或者pull或者其他,而是抽象一个拥有turnOn turnOff方法的light接口,人和具体的灯均依赖于这个接口,人通过调用turnOn turnOff触发开灯关灯,而灯的具体类以各自的方式实现turnOn turnOff功能。

B.比如灯的开关方式各有不同,有的通过push实现有的通过pull实现,抽象不能根据push和pull来决定,而应该抽取turnOn turnOff来屏蔽具体细节。



好莱坞原则

“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”,留下你的(低层组件)联系(调用)方式,我们(高层组件)来决定什么时候联系(调用)你(低层组件)。



依赖倒置原则与好莱坞原则

依赖倒置原则强调抽象,而好莱坞原强调高层组件对低层组件使用方式的控制



用户头像

旁听生

关注

还未添加个人签名 2018.12.04 加入

还未添加个人简介

评论

发布
暂无评论
依赖倒置原则