1

Javaがパッケージ名の先頭にTLDを含めることを推奨するのはなぜですか。つまり、なぜそれが必要なのですか。

package com.example.pack;

それも可能です

package pack.example.com;

TLDを最初に置くことを決定した理由は何でしょうか。

4

7 に答える 7

3

この規則はここに文書化されており、証明されており、非常に多くのことで機能します。

ユニバースはcom、または任意SGORGTLDです:)。

ドメインが続きますexample

プロジェクトが続きますpack

レイヤーが続きますweb | ejb | data

com.example.pack.web
com.example.pack.ejb
com.example.pack.data
com.example.project2.web
com.example.project2.ejb
com.example.project2.data
com.singtel.projecta.web
com.singtel.projectb.data
于 2012-05-04T10:12:51.563 に答える
3

パッケージは、ファイルシステムのディレクトリに対応しています。pack.example.comとpack.example2.netは、URLが関連していないことを示している場合でも、両方とも同じディレクトリにありますが、com.example.packとnet.example2.packでは、関連するパッケージは同じディレクトリにあります。 。

于 2012-05-04T10:14:38.173 に答える
0

より一般的なものからより具体的なものに移行するのは一般的な慣習であり、その逆はありません。

同じように、次のように記述します。

  • package_nameclass_name(ではありませんclass_namepackage_name);
  • objectmember;
  • outer_classinner_class;

等々。

于 2012-05-04T10:14:48.297 に答える
0

Javaパッケージ名は、常に最も具体的でないものから最も具体的なものへと読み取る必要があります。したがって、常に最初にドメイン名で開始する必要があります。

于 2012-05-04T10:15:08.780 に答える
0

その理由の1つは、クラス名にパッケージ名の接尾辞ではなく接頭辞が付いていることです。したがって、各ドットの後に同じ方向に移動します。また、パッケージ名はディレクトリ名にマップされます。これにより、最も広い最初の順序も強制されます。

于 2012-05-04T10:15:09.957 に答える
0

木の中では、幹が主要な部分であり、葉はあまり一般的ではない部分です。

パッケージ名はツリーです。

クラスパス内のすべてのクラスで、自分が作成したクラスを検索することを考えてみてください。com。*com.example。*などを開始します。自分のものが見つかるまで。

于 2012-05-04T10:15:14.093 に答える
0

主な動機は、ファイルシステムのようにクラスとリソースを階層的に編成することにより、名前空間の衝突を回避することです。テキストファイルを。として参照するのは厄介ですMyDoc.txt\My Documents\C:。TLD名を逆に使用すると、より一般的なものからより具体的なものへとより自然に整理されます。

于 2012-05-04T10:20:57.557 に答える