考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:编程开发 > DotNET > Delphi.Net > 文章内容
  

Delphi基础教程:Delphi程序开发特点分析

 [ 2017年9月5日 ] 【

  1.引言

  我们经常会问这样的问题“:到底什么使得Delphi如此优秀?”和“为什么和别的编程工具相比,我更愿意选择Delphi?”等等。简而言之就是:高效性。决定一个软件开发工具效率的因素归结为以下五点:①可视化开发环境的性能。②编译器的速度和已编译代码的效率。③编程语言的功能及其复杂性。④数据库结构的灵活性和可扩展性。⑤框架对设计和使用模式的扩充。

  2.Del phi的特点

  2.1可视化集成开发环境

  可视化开发环境通常分为三个组成部分:编辑器、调试器和窗体设计器。和大多数现代RAD(快速应用开发)工具一样,这三部分是协同工作的。当你在窗体设计器中工作时,Delphi在后台自动为你正在窗体中操纵的控件生成代码。你还可以自己在编辑器中加入代码来定义应用程序的行为,同时还可以在同一个编辑器中通过设置断点和监控点等来调试程序。

  在版本5里,Delphi的调试器具备了许多先进的功能,如远程调试、过程关联、DL断口包调试、自动本地监控以及CPU窗口等。Delphi还支持在调试时随意放置和停靠窗口并把这一状态保存为命令的桌面设置。由此,Delphi的IDE实现了对调试功能的良好支持。对RAD工具(如Delphi、Visual Basic、C++Builder和PowerBuilder等)来说,窗体设计器是一项独特的功能。一些更为经典的开发环境,如VC++和BC++,都提供了对话编辑器,但却没有将窗体设计器集成到开发流程中,没有窗体设计器将会降低开发工具的整体效率。几年来,Delphi与Visual Basic在完善窗体设计器的功能方面展开了激烈的竞争。Delphi的窗体设计器的与众不同之处在于,Delphi是建立在一个真正面向对象的框架结构基础之上的。这样,你对基类所做的改变都将会传递给所有的派生类。这里涉及的一项关键技术就是VFI(visual form inheritance),即可视化窗体继承。VFI技术使你能够动态地继承当前项目或对象库中的任何其他窗体。一旦基窗体发生改变,派生的窗体会立即予以更新。

  2.2编译器的速度和已编译代码的效率

  Pascal编译器最著名的特点就是速度快,而Delphi正是建立在这种编译器的基础之上的。事实上,它可能是针对windows的最快的高级语言本地代码编译器。以往速度很慢的C++编译器在近年来取得了很大的进步,增加了链接和各种缓存策略,尤其是在VISua1C++和C++Builder中。但即便如此,C++的编译器还是比Delphi的慢了几倍。Delphi和C++Builder共享同一种编译器后端,是一个公司的产品,因此生成的代码等效于由一个优秀的C++编译器生成的代码。

  2.3编程语言的功能及其复杂性

  C++是非强类型语言,有些错误编译器无法发现。Object Pascal和Java很相似,它们很好地把握住了复杂性和功能性的平衡。它们都采取了这样一种途径,即限制其可用功能以加强开发者的逻辑设计。例如,两者都避免了完全面向对象但却容易被滥用的多重继承的观念,而是实现了一个执行多重接口功能的类。两者都不支持美观却危险的操作符加载。两者都有一些强大的功能,诸如异常处理、运行期类型信息(RTT工)和生存期内存自管理字符串。特别是运行期类型信息(RTTI),对我们设计仿真培训系统中的操作站与现场站很重要,用它我们可根据组态数据库的数据在运行期自动创建组件和自动识别组件而赋给相应的数据。同时,Delphi使用编程语言是Object Pascal,是面对对象、强类型语言。有利编制稳健的应用程序,减少调试、检错时间以提高开发效率;有利描述真实世界的事物和系统,如控制系统、工艺数学模型。

  2.4数据库结构的灵活性和可扩展性

  由于Borland缺少一种数据库计划,因此Delphi保留了我们认为是所有工具中最灵活的数据库结构。对大多数基于本地、客户服务器和ODBC数据库平台的应用程序来说,BDE的功能都非常强大。如果你对此不满意,可以避开使用BDE以支持新的本地ADO组件。如果你没有装ADO,可以自己创建数据访问类或者购买第三方数据访问解决方案。此外,MIDAS使对数据源的多层访问更易于实现。而Microsoft的工具(ODBC、OLEDB或者其他)从逻辑上来说趋向于支持Mi-crosoft自己的数据库和数据访问解决方案。

  2.5框架对设计和使用模式的扩充

  这是一项经常被其他软件设计工具忽略了的重要功能。VCL是Delphi最重要的组成部分。在设计时操纵组件、创建组件、使用面向对象技术继承其他组件的行为,这些能力都是决定Delphi效率的关键因素。在许多场合,编写VCL组件都采用固定的00设计方法。相比之下,其它基于组件的框架经常过于死板或过于复杂。比如ActiveX控件具有和VCL控件相同的设计期性能,但却不能被继承以创建一个具有其他不同行为的新类。传统的类框架,如OWL和MFC,需要你有大量的内部结构知识,而且如果没有RAD工具的设计期支持,其功能将会受到抑制。

  3.Del phi的事件驱动机制

  3.1无约定编程

  与传统的Windows消息机制相比,Delphi的事件处理机制的最大优势在于所有的事件都是无约定的。对程序员而言,无约定就是指可以在事件处理程序中什么都不干。而在传统的Windows消息机制中,就不得不调用基类的消息处理程序,还要把信息回传给Windows。当然,Delphi的事件处理机制的无约定的编程方式可能无法对消息进行直接的灵活有效的处理,你要受制于谁引发了这一事件以及应用程序对这一事件要做出什么响应等。例如,可以在OnKeyPress处理程序中修改和取消击键,但onResize事件处理程序却只能提供这一事件已发生的通知而无法进一步防止或控制尺寸的改变。

首页 1 2 尾页
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved