过程作为黑箱抽象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过程作为黑箱抽象相关的知识,希望对你有一定的参考价值。

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

技术分享

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

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

以上是关于过程作为黑箱抽象的主要内容,如果未能解决你的问题,请参考以下文章

SICP读书笔记

scrum 开发过程

操作系统的作用以及发展过程

OOP导论系列---抽象过程

如何在抽象派生类型中设计 PRIVATE OVERRIDABLE 过程?

设计模式 抽象工厂模式