算法模块
计算机术语
模块是构成系统、实现系统功能的基本单位,可以理解为一般意义上的子程序。算法模块是指将不同的算法设计成不同的软件模块。算法模块可以被不同应用程序调用,来解决不同的问题。算法模块极大地改善了算法的应用领域。
概念
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法模块简单来说是指算法设计成一个个独立地软件模块。在实际应用中,应用程序对算法调用,可以看成一次次地模块调用。将算法通过编程语言写成一个个算法模块,使算法具有可复用性和较好的可移植性,算法模块还降低了算法的使用难度以及推广了算法的应用领域。算法模块的接口(API)提供了由该模块提供的功能和调用它时所需的元素。
模块
在系统分析中经常使用的一个概 念,即系统中具有相对独立性的、完成某一功 能的一个部分。
模块具有以下属性:
1.凝聚性。它本身的功能或内容,具有一 定的内在的逻辑联系。
2.独立性。它与系统其他部分的联系(调 用关系和参数调用关系)有明确的规定,并且 限制在一定限度之内,此外的内部处理与其 他部分不发生相互影响。
3.联系的明确性。它在系统中的地位与 作用有明确的、严格的规定。
划分成模块的系统(称为模块化结构系 统)具有易分工开发,易管理,易理解,易修改 的特点,因此被认为是结构良好的系统,成为 系统分析与设计中所期望的目标。相应地、合 理地划分模块也就成了认识、分析、设计复杂 系统中的一项重要的、关键性的任务。
移植与复用
可复用性
也可以称作代码复用。就是再利用已有的代码,或者相关的知识去编写新的代码来构造软件。复用的形式一般有程序库、设计模式、应用框架。算法模块也有这三种形式,不过主要侧重于程序库的复用。
程序库
编写程序库是进行代码复用最常见的方法。很多共通的操作,比如文件的读/写,操作系统信息的获取的动作都会被封装在程序库中,然后由软件开发人员来调用。使用程序库的一大优点就是它所提供的操作都是经过充分测试的,但是缺点则是无法对程序库提供的操作的具体实现进行调整,同时程序库也要求软件开发人员花大量时间去学习它的用法。
设计模式
设计模式对于同类的相似问题提供了通用的解决方法。它所提供的是概念上的解决方法,对于具体问题往往还需要具体实现一份代码。利用抽象类或接口往往可以在特定的设计模式中达到代码的复用。
应用框架
软件开发人员往往可以通过第三方的应用程序或者框架来实现对一个程序的大范围复用,这可以有效地提高生产效率。但缺点在于第三方的应用程序或者框架往往只在某个特定的应用范围内才可以适用。
可移植性
可移植性(英语Portability),又称作移植性、可携性,是指使用高阶语言写成的软件,在不同环境下,是否具备可以被重复使用的性质。一般来说,软件是否具备可移植性的衡量标准,在于进行软件移植时,需要付出多少工时为代价。具备高可移植性的软件,在移植到不同系统平台时,并不需要做太多事情,因此能够减少软件开发及布署时的成本。为了使软件具备高度可移植性,程序员需要使应用程序界面抽象化以及模组化。
应用程序接口
软件接口。为系统与用户之间、子系统与子系统之间、两个程序块之间专门设计的程序.软件支援环境要求软件接口都具有统一性。例如,为了实现用户和各种软件工具的通信,要求有统一的调用方式。
应用程序接口(Application Programming Interface,API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
参考资料
最新修订时间:2022-08-25 13:14
目录
概述
概念
模块
参考资料