Dmitry Chebakov Asked:2020-10-10 05:47:01 +0000 UTC2020-10-10 05:47:01 +0000 UTC 2020-10-10 05:47:01 +0000 UTC 为什么java中的包习惯以域名命名? 772 这应该完全像这样完成的事实到处都写着。但为什么人们同意这样称呼它呢?也许这有一些不明显的便利? java 3 个回答 Voted Best Answer Vladimir Glinskikh 2020-10-10T07:07:14Z2020-10-10T07:07:14Z 全球唯一的名称消除了来自不同来源的库之间的命名冲突。不是创建一个新的全球名称中央数据库,而是使用域名注册机构。 Java 语言规范 (JLS): 生成唯一包名称的建议约定只是一种在现有的、广为人知的唯一名称注册表之上捎带包命名约定的方法,而不必为包名称创建单独的注册表。 想象一下,例如,您有四个重要的包,您可以这样编写它们: package controller.mysite.org; package model.mysite.org; package service.mysite.org; package dao.mysite.org; 这意味着有一个主包,其子节与您的公司(您的资源名称)相关,并且此包的子节称为 org 包,您实际使用并且是唯一的。但是如果你这样写: package org.mysite.controller; package org.mysite.model; package org.mysite.service; package org.mysite.dao; 这个帖子更有意义。在来自组织 (org) 的所有包中,您查看您的公司名称,它有四个子包:controller、model、service、dao。 user181100 2020-10-10T06:37:07Z2020-10-10T06:37:07Z 虽然很明显,但在 Java 文档中有很好的说明: 公司在其软件包名称的开头使用其扩展域名,例如com.example.mypackage,表示mypackage由example.com. 同一公司内包之间的冲突必须在公司内部解决,例如通过在公司域名中添加地区或项目名称,以com.example.region.mypackage. 一般来说,它减少了包名之间发生冲突的机会。当它们确实发生时,它们会将损害、相关各方的数量和距离降到最低。 当然,没有人强迫遵守这些约定。但开发人员自己主要感兴趣的是确保他们的包不会与其他包发生冲突。 pavlofff 2020-10-10T09:39:36Z2020-10-10T09:39:36Z 包名是一个文件夹结构。命名从一般到特殊:一个地区有公司,公司有细分,他们有项目,项目中的类等等。 也就是说,根文件夹在每个公司的文件夹中联合了公司“折叠”的公共域 - 它的项目......这是最合乎逻辑的结构
全球唯一的名称消除了来自不同来源的库之间的命名冲突。不是创建一个新的全球名称中央数据库,而是使用域名注册机构。
Java 语言规范 (JLS):
想象一下,例如,您有四个重要的包,您可以这样编写它们:
这意味着有一个主包,其子节与您的公司(您的资源名称)相关,并且此包的子节称为 org 包,您实际使用并且是唯一的。但是如果你这样写:
这个帖子更有意义。在来自组织 (org) 的所有包中,您查看您的公司名称,它有四个子包:
controller、model、service、dao。虽然很明显,但在 Java 文档中有很好的说明:
一般来说,它减少了包名之间发生冲突的机会。当它们确实发生时,它们会将损害、相关各方的数量和距离降到最低。
当然,没有人强迫遵守这些约定。但开发人员自己主要感兴趣的是确保他们的包不会与其他包发生冲突。
包名是一个文件夹结构。命名从一般到特殊:一个地区有公司,公司有细分,他们有项目,项目中的类等等。
也就是说,根文件夹在每个公司的文件夹中联合了公司“折叠”的公共域 - 它的项目......这是最合乎逻辑的结构