依赖倒转原则 -- 强执若 or 弱执强?

举报
看,未来 发表于 2020/12/30 01:06:40 2020/12/30
【摘要】 文章目录 修电脑的小故事从电脑的组装出发总结 修电脑的小故事 故事是别人的,不过放在这里也是很应景啦。 故事是这样的: 有个适龄小伙子,他还单着。有一天,他喜欢的那个姑娘突然给他打电话,说她的电脑坏了,一用就蓝屏警告。姑娘讲着讲着就要哭出来了,小伙子那个急啊,他心疼啊。所幸,小伙子凭借高超的技术,当机立断:内存条坏了。但是又苦于所爱隔山水啊,所以...

在这里插入图片描述

修电脑的小故事

故事是别人的,不过放在这里也是很应景啦。
故事是这样的:
有个适龄小伙子,他还单着。有一天,他喜欢的那个姑娘突然给他打电话,说她的电脑坏了,一用就蓝屏警告。姑娘讲着讲着就要哭出来了,小伙子那个急啊,他心疼啊。所幸,小伙子凭借高超的技术,当机立断:内存条坏了。但是又苦于所爱隔山水啊,所以他只能当远程指挥官了。他指导姑娘:扒开电脑主机后盖,把内存条扯出来,然后开机看看,如果还蓝屏,那就把那条内存条插回去,把另一条拔出来。一顿操作猛如虎,姑娘在小伙无私又认真的指挥下,把电脑修好了。
过两天,姑娘又打电话给小伙子,说她收音机坏了,希望小伙能再远程指导一次。但是这次小伙无能了,他不行了,他不会,太难了。他放弃了,他把电话挂了。姑娘很失望。

但是姑娘不知道,电脑,是松耦合,强内聚的,哪个部件坏了就换哪个,但是收音机不一样,收音机是紧耦合的,牵一发而动全身,收音机没声音,可能是扩音器坏了,可能是信号接收其坏了,可能是解频罢工了···毕竟她是外行嘛,悲催的小伙子。

那么,就要切入到我们的正题了,松耦合、强内聚的电脑,是怎么组装的呢?没错,本篇,我们来聊聊组装电脑哈哈哈哈☺☺


从电脑的组装出发

像内存条这种东西啊,管你是哪家生产的,只要符合规格,再比如鼠标、键盘、电池(电池得配套),反正哪个部件坏了就换哪个部件。为什么这些部件不论插在哪一台电脑上都能使用呢?是这些部件配合电脑主板设计,还是电脑主板配合这些零部件设计呢?

想来答案已经很明确了。就拿CPU来说,CPU的对外都是针脚式或触点式的标准接口,只要接口设计好,内部再复杂和外界也没有关系。哪个主板要插CPU,那就得和CPU的接口对上。那么这时候如果电脑的内存条坏了,就不该成为你更换麦克风的理由。这不是开玩笑,要是收音机的外放坏了,可能得整部收音机脱胎换骨了。

PC的接口始终是有限的,但是软件设计得好,却可以不断地拓展的。

是时候上概念了:依赖倒转原则

  • 抽象不应该依赖于细节,细节应该依赖于抽象。
  • 低层实现不应该依赖于高层实现,高层实现也不应该依赖于低层实现,它们都应该依赖于抽象。

是不是有点吃惊,刚刚明明说内存,主板,CPU,什么什么的。哈哈,别绕晕了,我可从没说过主板要依赖于内存哦。插内存的地方,还有个插槽呢,插鼠标的地方,还有个USB接口呢。这些接口,就是抽象。

说白了,就是要针对接口编程,不是实现。

在这里插入图片描述

总结

依赖倒转原则可以说是面向对象编程的标志,用哪种语言来实现并不重要,殊途同归。只要都是针对抽象编程,而不是针对细节编程,所有的依赖关系都是终结于抽象类,那么便是面向对象的设计

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/106083418

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。