- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种新程序设计范型代码组件的组合重用是一种新的程序设计范型
1 通过程序构造的模拟
编程风格是一组概念模型的集合。这些概念模型可以让编译器想法并利用程序解决目标问题的实现方案,并为构建的语言实现方案提供结构程序的结构。正如文献所示,程序范型可以指导编程过程,决定程序结构。人们认为,编程风格至少应具备以下几个特点。
(1) 为程序设计人员提供一种独特的虚拟计算机系统的编程接口.
(2) 提出独特的程序结构,即程序具有独特的结构单元和结构关系特性.
(3) 提出独特的构造程序的原则和风格.
(4) 为程序员规划独特的程序设计任务.
(5) 所设计出的程序具有独特的运行方式.
(6) 至少有一种具有代表性的实用程序设计语言支持范型中所包含的各种概念.
1.1 命令式程序设计范型
命令式程序设计范型为程序设计人员提供的虚拟计算机系统的编程接口是面向机器硬件功能部件结构及其状态的低级接口,程序的操作语义是对机器状态复杂变化的描述.命令式程序设计范型要求程序员必须将问题求解过程表示成面向机器的具体操作,必须要在程序中告诉机器按什么顺序,如何完成每一步操作.命令式程序设计范型中提供有过程机制,可以将复杂的算法分解成多个可以相互调用的过程,过程划分的依据是功能分割策略.使用命令式程序设计范型进行程序设计的任务就是:通过构造语句序列以及组织存储空间,实现所需的功能.代表性的命令式高级程序设计语言有Fortran, Pascal和C等.
1.2 嵌套地调用复杂函数
函数式程序设计范型将程序看作是作用于输入数据集的一个函数,用函数式程序设计范型所设计出的程序由一组函数定义组成.函数可以被嵌套地调用,通过嵌套地调用简单函数就可以构造出复杂函数,并最终得到整个程序.在函数式程序设计范型中,没有赋值语句,变量名的值一旦在函数调用时被指定后就不会再改变了;函数没有副作用,多个函数可以并行地运行.函数式程序设计范型中的变量和函数分别与数学中的变量和函数完全一样,便于使用数学方法对程序进行验证.其代表性的程序设计语言是Lisp, Lisp语言是命令式和函数式程序设计范型混合在一起的一种程序设计语言.
1.3 控制程序设计.根据提出本机
逻辑式程序设计范型是在人工智能的自动定理证明方法基础上发展起来的一种程序设计范型,它以逻辑子句作为程序的语句,以使用这些逻辑子句进行定理证明的过程作为程序的执行过程.逻辑式程序设计范型是说明式的,程序只需要描述做什么,而不需要描述如何做.程序员编制程序的任务分为两部分,一个是通过定义断言和规则,描述问题所涉及的对象及其相互关系,描述用于解决问题的知识;另一个是以查询提问的方式描述需要由程序求解的问题.逻辑式程序设计范型将查询提问的结果看作是断言集和规则集的逻辑结论,因此计算机系统可以在内部使用自动推理算法自动地实现求解问题的具体策略和操作过程.逻辑式程序设计范型的代表性程序设计语言是Prolog语言.
1.4 创建基于类的实理程序
面向对象式程序设计范型要求程序描述空间与问题描述空间具有自然、直观和简单的对应关系.类是一种概念性实体并具有稳定的处理逻辑和语义,面向对象式程序设计范型的程序由一组类的定义组成,这些类还被组织成具有继承关系的层次结构.使用面向对象式程序设计范型设计程序的任务有:
① 组织类的层次结构,这包括从问题描述中识别出所有的对象,将这些对象抽象定义成一组类,然后运用比较分类原
则,将这些类组织成具有继承关系的层次结构.
② 以类为模板生成实例对象,并通过消息传递机制实现实例对象之间的任务协作.面向对象式程序设计范型的代表性语言有Smalltalk, C++和Java等.
2 代码组件组合称重
代码组件是用于构造程序的可重用代码资源,组合重用代码组件的基本目的就是仅仅只要将已有的代码组件组合起来,就可以得到所需要的程序.使用代码组件的组合重用技术开发软件系统的方法被称为组件化软件开发方法,它为开发和维护软件系统提供了新的技术途径.组件化软件开发方法认为,软件系统是通过规范的组合机制连接在一起的一组代码组件,而且组合重用代码组件是构造软件系统的唯一手段.组件化的软件开发包括两个相互独立的过程,一个是代码组件的开发,另一个是组合重用代码组件构造软件系统.当组合重用已有的代码组件仍然无法构造出所需的软件系统时,应当先按照代码组件的实现规格要求开发出足够的代码组件,然后再组合重用新的代码组件,以完成软件开发任务.此时,软件系统的开发人员千万不要直接去开发软件系统中的代码,不要使用除代码组件组合重用机制以外的任何方式制作或连接软件代码.为了最大限度地保证代码组件具有广泛的可重用性,组件化软件开发方法强调由专门的开发人员,独立于所有具体的软件系统的开发过程,开发具有标准规格的代码组件.
不同于以往的可重用代码单元,如子程序
文档评论(0)