And*_*onu 28 computer-science indirection
我在一本书中读过这句话:
计算机科学中没有任何问题无法使用另一层次的间接解决.
有人可以解释一下吗?"间接水平"是什么意思?
根据我的理解,间接是使用值的指针而不是值本身的奇特名称.请为我澄清一下.
Lee*_*dor 34
从最广泛的意义上说,"间接"正在使用其他东西.
因此,使用值而不是值的指针的示例在一个级别上符合此定义.指针是东西,值是其他东西.
通常这是范围更大的东西:
也许最后一个例子解释了这一切的"原因".
当我们使用某些东西时,我们掌握它并学习如何将其抽象到更高的抽象层次,因此需要一个新的间接层,我们可以通过将一些工作卸载到新的API来更快地解决更大的问题.
间接的潜在大优点之一是减少了耦合。这是另一种说法,即应该对事物进行适当的分隔。从长远来看,这通常对测试,可维护性和灵活性有很大帮助。
例如,如果您的应用程序需要读取一些持久化数据,而不是具有在何处(以及如何)读取数据的特定知识,那么您可以将其隔离(将读取的数据放入方法中),然后将其隔离在整个应用程序中让应用程序的所有其他部分调用该方法来获取数据,而不是应用程序的每个部分本身都必须处理这些细节。