C++设计基本原理
C++被设计成一个用于快速开发程序分析工具的可扩展平台。C++有以下几个特点:
按照惯例,C++中小写字母是指书写的程序,只是从C++程序的摘要数据。C++中的大写字母书写,是指该摘要作者和使用的工具生成所有数据库中取得的。
信息提取与分离
演示:在提取程序和提交的资料应分开处理信息的过程。这消除了对每个C++分析工具需要复制的解析过程,允许C++工具以不同的方式来共享信息。开发了一个类似的命名在Interlisp项目。然而,现在许多C和C++工具今天仍然违背这一基本原则。
周密的概念模型:概念模型的实体关系模型是用来描述在C++的实体,属性和关系。该模型可作为准确的方案数据库内容的高层次规范。
关系数据库:支持重用,抽象出来的C++中的关系数据库的形式存储的信息,使得这方面的资料必须由现有的数据库查询系统进行访问。
增量数据库建设:C++建立和维护一个大型数据库,以及有效的系统方案,因为它允许一个数据库的增量更新。当一个C++源更新,只有那一部分要reabstracted来更新数据库。
C++程序由C++数据库生成的,它已经有许多新的在C++之上开发的工具。这些被开发的工具使用共同的数据库,但是通过不同的做法。有些工具写成的Awk或ksh脚本调用数据库查询命令,其他人则可以在C++程序中调用一个
查询库其他应用程序已被写入使用查询C++程序的数据库信息。针对C++程序的数据库不同的格式调整以及存在微小变化,使得这些工具可以应用于C++程序。许多新的工具可以在很短的时间内通过共享数据库中的结构良好的信息得到开发。这使得它可以提供C++程序员的良好的编程工具,便于支持更高的编程水平。
我们概念中的C++程序数据库包含种类繁多,其中有:
什么是这个类的继承层次结构?
什么是所有成员,这个类继承的成员?
在哪里所有引用到这个类的成员?
哪里是重载函数声明?
为什么有这么多高水平的编程语言?有很多语言可以访问大型数据库,格式化金融
报告,控制机器人在工厂
工作,处理机件,控制卫星实时模拟核反应堆,预测1
变化的大气层状况,下棋和绘制电路图。每一个问题都需要不同的数据结构和算法。程序语言作为一种工具帮助我们解决这些问题。然而,并不是一种程序语言可以最好的解决所有问题。新的语言被开发来更好的解决一类特定的问题。其他语言可以用来解决不同的
问题领域和多方面的用途。每个程序语言固定一个特定的程序体系或设计程序原理。使用多种多样的语言建立不同的设计
方案。这些方案被叫做程序范例,帮助我们思考问题,规范解决。
当设计一个小的计算机程序或大的软件系统时,我们要思考问题的解决模式。怎样去设计一个模式?程序范例提供了许多不同的方法去设计和思考软件系统。一个范例可以被认为是一个模式或者一个框架来设计和描述软件结构。这个模式帮助我们去思考和规范解决。我们可以选择一种语言,使用范例独立的完成。当所选择的语言提供的结构和机制符合范例时,就很容易完成。一般来说,几种语言可能属于同一种范例。因此,一种范例可以被看作一种语言的类。
一种语言不仅要符合一种范例,而且能够使用多种范例提供的特性和特征。混合语言,如C++,综合了两到三种范例。C++包括了命令和
程序范例的特性,例如,其前身C,和面向对象范例。
命令范例:命令范例的特性是
计算机的抽象模型和巨大的内存存储。这是计算机体系的von Neumann模型。计算命令,由一系列的命令组成,以代码形式存储。命令可以使机器找到解决方法,使用指定命令改变存储,变量读取,算术和逻辑表达式,条件分枝控制执行流。
程序范例:它包括了命令范例,还有对概念命令和表达的抽象机制。参数,即