谈谈indirection---间接

什么是indirection

有大师说过:只要再多一个中间层,就没计算机科学解决不了的问题。
上面这句话就是Indirection的最好体现。

  • 这是很重要的概念,比如:变量就是indrection
  • 假设我们要计算青蛙有多少腿,我们每次引用的时候都要写上:4条腿* 100只,很麻烦,如果我们令 leg = 4 , number = 100 ;这样问题就简单了,就改写为 leg * number下次计算母鸡的时候,只要令leg = 2,就行了,不需要到处去改数字。
  • 所以 indirection (间接)是一种抽象,一种我们不自觉从一开始就使用的一种思维,面向对象中的类,也是一种indirection。某种角度间接 可以等价于抽象。他们都是把底层的dirty works抛开给计算机,不同的是间接指代更加宽广,而抽象一定意味着去繁就简。比如,宏define是一种间接,而不是抽象。

你可能感兴趣的:(谈谈indirection---间接)