过程作为黑箱抽象——《计算机程序的构造和解释》
?
可以看到,對(duì)于平方根的計(jì)算問(wèn)題可以自然地分解為若干子問(wèn)題:怎樣說(shuō)一個(gè)猜測(cè)是足夠好了,怎樣去改進(jìn)一個(gè)猜測(cè),等等。這些工作中的每一個(gè)都通過(guò)一個(gè)獨(dú)立的過(guò)程完成,整個(gè)sprt程序可以看做一族過(guò)程(如圖1-2所示),它們直接反應(yīng)了從原問(wèn)題到子問(wèn)題的分解。
這一分解的重要性,并不僅僅在于它將一個(gè)問(wèn)題分解成了幾個(gè)部分。當(dāng)然,我們總可以拿來(lái)一個(gè)大程序,并將它分割成若干部分:最前面10行、后面10行、再后面10行等等。這里最關(guān)鍵的問(wèn)題是。分解中的每一個(gè)過(guò)程完成了一件可以清楚標(biāo)明的工作,這使它們可以被用作定義其他過(guò)程的模塊。例如,當(dāng)我們基于square定義過(guò)程good-enough?之時(shí),就是將square看做一個(gè)“黑箱”。在這樣做時(shí),我們根本無(wú)須關(guān)注這個(gè)過(guò)程是如何計(jì)算出它的結(jié)果的,只需要注意它能計(jì)算出平方值的事實(shí)。關(guān)于平方是如何計(jì)算的細(xì)節(jié)被隱去不提了,可以推遲到后來(lái)再考慮。情況確實(shí)如此,如果只看good-enough?過(guò)程,與其說(shuō)square是一個(gè)過(guò)程,不如說(shuō)它是一個(gè)過(guò)程的抽象,即所謂的過(guò)程抽象。在這一抽象層次上,任何能計(jì)算出平方的過(guò)程都同樣可以用。
轉(zhuǎn)載于:https://www.cnblogs.com/dongerlei/p/5204109.html
總結(jié)
以上是生活随笔為你收集整理的过程作为黑箱抽象——《计算机程序的构造和解释》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 简单的自定义弹框
- 下一篇: bzoj - 2038: [2009国家