第二讲:去藕.pdfVIP

  • 3
  • 0
  • 约1.08万字
  • 约 12页
  • 2017-05-29 发布于河南
  • 举报
第二讲:去藕

第 2 讲 解藕(一) 软件设计的一个重要任务是怎样把一个程序分解成几部分。在这节课中,我们将为讨论 的各个部分介绍一些基本概念以及他们是如何彼此关联的。我们的焦点将是确认各部分之间 的耦合,以及显示如何降低耦合。在下次讲座中,我们将看到Java 是如何明确支持解藕技 术的。 今天我们将要介绍的一种关键思想是规范。不要认为规范是令人厌烦的文档。恰恰相反, 他们对于解藕非常重要,因此也对高质量的设计很重要。我们将看到,在更先进的设计里, 规范已成为重要的设计元素。 课程正文把使用和依赖看作同义词。在这次讲座中,我们将会区分这两个概念,并且解 释概念依赖如何比旧的概念使用更有用。你将需要理解怎样构造和分析依赖图;使用图仅仅 是构造依赖图的一个台阶。 2.1 分解 一个程序由多个部分组成的。这几部分是什么,他们是如何关联的?这就是分解的问题。 2.1.1 为什么分解? Dijkstra指出如果一个程序有N部分,并且每部分的正确概率是 c ——即开发者弄错的 概率为 1-c ——那么整体程序正常工作的概率就是 。如果N很大,那么,除非 c 非常 接近1,否则 将趋近于零。Dijkstra 做这场辩论是为了表明把事情做好将花费

文档评论(0)

1亿VIP精品文档

相关文档