命名空间,也称名称空间,名字空间。
命名空间是用来组织和重构代码的。如同名字一样的意思,NameSpace(名字空间),之所以出来这样的一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名的现象,对于库来说,这个问题就很严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx
;你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。
通常来说,命名空间是唯一识别的一套名字,这样当对象来自不同的地方但是名字相同的时候就不会含糊不清了。使用扩展标记语言的时候,XML
的命名空间是所有元素类别和属性的集合。元素类别和属性的名字是可以通过唯一XML
命名空间来唯一。
在XML
里,任何元素类别或者属性因此分为两部分名字,一个是命名空间里的名字另一个是它的本地名。在XML
里,命名空间通常是一个统一资源识别符(URI
)的名字。而URI
只当名字用。主要目的是为了避免名字的冲突。
命名冲突
在XML
(标准通用标记语言下的一个子集) 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。