文档介绍:
Binding ﻫ绑定
--------------------------------------------------------------------------------
通过将一个抽象的概念与附加特性相联系,从而使一个抽象概念具体化的过程。 ﻫ例如,把一个进程与一个处理机、一种类型与一个变量名、一个库目标程序与子程序中的一个符号引用等分别关联起来。
在逻辑程序设计中,用面向对象语言将一个方法与一个消息相关联,从抽象的描述建立具体的实例。
绑定有时又译为联编、结合等。然而译为绑定既可表音,又能达义,在计算机专业英语的汉译中能达到这一境界的诚然不多。
绑定在许多计算机领域中都存在太多的实例。面向对象程序设计中的多态性特征将这一概念发挥得淋漓尽致。程序在运行期间的多态性取决于函数名与函数体相关联的动态性,只有支持动态绑定的程序设计语言才能表达运行期间的多态性,而传统语言通常只支持函数名与函数体的静态绑定[5]。
还可为绑定找到一个更通俗的实例。将配偶这一抽象概念与某位异性相关联,这一过程称作绑定。指腹为婚是为静态绑定,自由恋爱是为动态绑定。现有的面向对象程序设计语言都不允许离婚或重婚,但在一定程度上允许再婚。
□
ﻫ--------------------------------------------------------------------------------ﻫComplexity of Large Problems ﻫ大问题的复杂性ﻫ--------------------------------------------------------------------------------
随着问题规模的增长,复杂性呈非线性增加的效应。 ﻫ这是区分和选择各种方法的重要因素。以此来度量不同的数据规模、问题空间和程序规模。
假如我们编写的程序只是处理全班近百人的成绩排序,选择一个最简单的排序算法就可以了。但如果我们编写的程序负责处理全省几十万考生的高考成绩排序,就必须认真选择一个排序算法,因为随着数据量的增大,一个不好的算法的执行时间可能是按指数级增长的,从而使你最终无法忍受等待该算法的输出结果。
软件设计中的许多机制正是面向复杂问题的。例如在一个小小程序中标识符的命名原则是无关重要的,但在一个多人合作开发的软件系统中这种重要性会体现出来;goto语句自由灵活、随意操控,但实践证明了在复杂程序中控制流的无序弊远大于利;结构化程序设计已取得不错成绩,但在更大规模问题求解时保持解空间与问题空间结构的一致性显得更重要。
从某种意义上说,程序设计技术发展至今的两个里程碑(结构化程序设计的诞生和面向对象程序设计的诞生)都是因为应用领域的问题规模与复杂性不断增长而驱动的。
□
--------------------------------------------------------------------------------ﻫConceptual and Formal Models ﻫ概念和形式模型ﻫ-------------------------------------
内容来自淘豆网www.taodocs.com转载请标明出处.