类,包,名称空间和模块之间有什么区别?

时间:2019-04-23 20:53:12

标签: programming-languages terminology

我正在尝试确定最合适/最通用的术语是指一个文件或一组文件,这些文件或文件组定义了可以重用的对象。我最常听到的术语是类,包,名称空间,模块,单元和组件,但是我不确定这些差异是什么,或者它们是否为不同语言的普遍接受术语。

1 个答案:

答案 0 :(得分:1)

通常,这些术语在许多不同的技术中使用。

命名空间和包在某种意义上有点相似,它们通常是“存储类的相对路径”。大多数情况下,程序包或名称空间将与文件所在的路径相同(但语法可能有所不同)。

类是一种数据结构,是一个逻辑上执行特定操作的代码单元。将代码分解为适当命名的类,然后将它们放入适当命名的包/命名空间中,这对通过查看项目的结构及其包含的文件来查找正在搜索的代码有很大帮助。这种“架构问题”是开发易于维护的软件的挑战之一。

然后,当您的软件过大时,您可能需要将代码分解为“模块”。基本上,这意味着您不必“提取”与功能相关联的所有类,而不必拥有一个包含所有源代码的大型项目(例如,如果您有搜索引擎,则可能希望将所有代码隔离在不同的位置) “模块”,基本上是另一个文件夹/项目)。这样,您还可以将搜索引擎重用于另一个完全不同的项目,而无需复制(因此加倍)您的代码...如果您要对搜索引擎进行更改,这将节省大量维护工作在两个项目中都需要。