Answers:
一个模块,
例如,dapper.net封装了数据库访问权限。它具有访问其功能的API。它是一个单个文件,可以插入要构建的源树中。
模块的概念来自模块化编程范式,该范式主张通过将程序功能分解为模块,软件应由称为模块的单独的,可互换的组件组成,每个模块都可以完成一个功能,并包含完成此功能所需的一切。
模块可能是一个重载的术语,以至于维基百科在讨论其相对于软件的用法时都使用模块编程一词来描述它。他们从基于自顶向下的设计方法的结构化编程的角度来讨论它。与低耦合和高凝聚力的使用有关的模块化的关键特性。
我的用法是,在像C甚至C ++这样的语言中,一个模块与从源文件(.c或.cpp)(通常是一个关联的头文件(.h))定义单独编译的单元有关。其他语言使用模块作为描述,而Modula-2语言将模块的结构放在模块名称和方法的中心位置。
从历史上看,模块还有其他一些含义,如DL Parnas的论文“关于将软件分解为模块的标准”中所述。他主要关心的是讨论用面向数据的分解代替功能分解的好处,这是向我们当前的面向对象的分解技术迈出的一大步。
面向对象的语言围绕类进行组织,因此术语“模块”在这种情况下可能不太重要,也不那么精确。