码迷,mamicode.com
首页 > 其他好文 > 详细

过程作为黑箱抽象

时间:2016-02-22 11:39:21      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

  可以看到,对于平方根的计算问题可以自然地分解为若干子问题:怎样说一个猜测是足够好了,怎样去改进一个猜测,等等。这些工作中的每一个都通过一个独立的过程完成,整个sprt程序可以看做一族过程(如图1-2所示),它们直接反应了从原问题到子问题的分解。

技术分享

  这一分解的重要性,并不仅仅在于它将一个问题分解成了几个部分。当然,我们总可以拿来一个大程序,并将它分割成若干部分:最前面10行、后面10行、再后面10行等等。这里最关键的问题是。分解中的每一个过程完成了一件可以清楚标明的工作,这使它们可以被用作定义其他过程的模块。例如,当我们基于square定义过程good-enough?之时,就是将square看做一个“黑箱”。在这样做时,我们根本无须关注这个过程是如何计算出它的结果的,只需要注意它能计算出平方值的事实。关于平方是如何计算的细节被隐去不提了,可以推迟到后来再考虑。情况确实如此,如果只看good-enough?过程,与其说square是一个过程,不如说它是一个过程的抽象,即所谓的过程抽象。在这一抽象层次上,任何能计算出平方的过程都同样可以用。

                                                                                  《计算机程序的构造和解释》

过程作为黑箱抽象

标签:

原文地址:http://www.cnblogs.com/dongerlei/p/5204109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!