经常能听说,但是却无法具体定位它的含义。数据库引擎,搜索引擎....是不是根据具体情况,定位执行操作的模块啊?

解决方案 »

  1.   

    “引擎”这个概念是从汽车上借用过来的。引擎是汽车的核心部件,在一个计算机软件上,“引擎”是核心程序,它可以象汽车上的引擎一样卸下来,移植到其他软件上。通常软件除了引擎以外还有“界面”程序,界面就如同汽车的底盘,它是引擎的操作平台。引擎和界面是相对独立的两种程序,它们之间的配合需要两个关键步骤: 
      (1) 界面给引擎发出指令,告诉引擎该如何运行; 
      (2) 引擎及时给界面发出反馈信息,报告自己的运行状态和运行结果。 
      界面和引擎之间的通讯协议就是“引擎协议”,它规定了界面给引擎发出的指令,以及引擎向界面反馈的有效信息。在多任务的操作系统平台上,通常界面在前台运行,引擎在后台运行,它们之间的通讯可以通过以下几种方式: 
      (1) 标准输入输出:这是最常用的方式,因为这种方式最容易制订引擎协议,在各种平台下都可以使用。 
      (2) Windows的DDE通讯:DDE通讯是Windows中最灵活的通讯方式。 
      (3) Windows的DLL库的API函数,调用API函数是Windows中速度最快的通讯方式。它和DDE通讯都只限于Windows操作平台,当然,有些非Windows的平台下有类似的通讯方式,不过移植起来不像标准输入输出那样方便。 
      (4) 磁盘文件传输:这是最简单有效的方式,但是通讯效率低,不同平台的文件格式和读写方法也不相同,所以不易采用。 
      开放式引擎协具有以下特点: 
      (1) 协议内容是公开的,并且可以免费使用; 
      (2) 任何人都可以根据该协议自己编写引擎,凡是支持该协议的界面,都可以使用他编写的引擎; 
      (3) 任何人都可以根据该协议自己编写界面,凡是支持该协议的引擎,都可以被他编写的界面调用。