《自然哲学的编程原理》依赖倒置

依赖倒置是指:高层模块不直接依赖于低层模块的具体实现,而是依赖于低层模块的抽象。

首先,依赖的本质是什么?

铁路局依赖于燃油局。

那么如果今天燃油局不存在了,会怎样?

答案是,铁路局的铁路、火车站还是原封不动在那里,只是不能正常运作了。

假如明天铁路局有人灵光一闪把火车接上蒸汽机头,联系上蒸汽动力局,铁路局就可以重新正常运作。

当前语境下依赖的本质应当是,如果铁路局依赖于燃油局,那么燃油局的消失会导致铁路局的存在不成立,而不是仅仅导致铁路局无法运作。

我们把铁路局和燃油局理解为两个各自独立运行的模块,铁路局是高层模块,燃油局是低层模块。

接着就可以推理出来,铁路局并不依赖于燃油局,他只是依赖于能给火车提供能量的服务。

因为如果真的不存在能给火车提供能量的服务了,铁路局就不存在了。

可能有人要说,既然能把燃油局换成蒸汽动力局,难道不能更彻底点,直接把火车换成飞机吗?

说得对,但那样就不叫铁路局,而是叫航空局。

如果把上面所说的给火车提供能量的服务理解为接口,燃油局和蒸汽动力局理解为该接口的两种实现。那么就可以得出:

高层模块不直接依赖于低层模块的具体实现,而是依赖于低层模块的抽象。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值