Какое значение имеют первые доменные идентификаторы TLD? - PullRequest
3 голосов
/ 06 сентября 2010

«Идентификаторы, похожие на доменные имена в TLD» - это полный рот, но это все, что я могу придумать.

Я видел, как они использовались в разных местах на протяжении многих лет, и задавался вопросом, какова история / причинаэто соглашение таково, что вы можете быть прощены, думая, что есть один верный способ упомянуть домен.

Я не использую Java, но я вспоминаю, что возиться с тем, что пространства имен часто выполняются так:

uk.co.tophats.stitchkit

Файл спецификации для «Агента запуска» в Mac OS X:

ws.agile.1PasswordAgent.plist

Файл настроек в Mac OS X:

com.apple.iTunesHelper.plist

Почему TLD является первым?Это просто иерархическая педантичность, как в британских или американских форматах дат?

Ответы [ 6 ]

4 голосов
/ 06 сентября 2010

В случае с Java пакеты соответствуют непосредственно иерархии каталогов, и гораздо важнее, чтобы иерархия каталогов была основана на самом общем, а не на самом конкретном идентификаторе домена.Кроме того, при чтении иерархии каталогов чаще всего ее читают сверху вниз.Так что я бы сказал, что здесь имеет смысл соглашение о порядке изменения порядка компонентов домена.

2 голосов
/ 06 сентября 2010

В Java и других языках программирования идентификатор пакета определяет, какова иерархия каталогов проекта.

Таким образом, если у вас есть два пакета com.stackoverflow.server и com.stackoverflow.client, вы получите следующую структуру каталогов:

com/
   stackoverflow/
      client/
      server/

что хорошо и логично, в то время как наоборот даст вам

client/
   stackoverflow/
      com/
server/
   stackoverflow/
      com/

что нецелесообразно.

1 голос
/ 06 сентября 2010

В сущности, запись обычно начинается с самого значительного бита информации, чтобы упростить упорядочение и группировку информации.TLD является корнем доменной структуры и, таким образом, является наиболее значимым битом информации.Поэтому имеет смысл структурировать пакеты таким образом.Конечно, не имеет значения, является ли он com.example.mypackage или example.com.mypackage .Но SUN решила предпочесть более научный способ.

Что касается формата даты, имейте в виду, что существует ISO , описывающий «формат обмена» как: YYYY-MM-DD
Это та же схема, потому что год является наиболее значимой частью, за которой следуют Месяц и Дата.

Итак, если смотреть с этой точки зрения, тот, кто использует «неправильно»нотацией является сама система DNS.Но я думаю, что они пытались оптимизировать все это для анализа URL (например, сначала «www», чтобы указать WebServer)

1 голос
/ 06 сентября 2010

Это способ использовать глобально уникальное имя в качестве префикса для всех ваших пространств имен и, таким образом, сохранить все ваши пространства имен закрытыми для глобально уникального имени.

0 голосов
/ 06 сентября 2010

Нет, это не педантизм, это создание пространства имен.

Там могут быть другие сторонние разработчики / программы / и т.д. что также может создать iTunesHelper.plist или класс SQLRunner.java. Вы добавляете к ним префикс в своем собственном пространстве имен, например, ваше доменное имя создать достаточно уникальное имя, чтобы com.oracle.SQLRunner.java отличался и не конфликтовал с org.postgresql.SQLRunner.java

0 голосов
/ 06 сентября 2010

Это немного субъективно. Вы можете привыкнуть к таким соглашениям, как "stackoverflow.com", и удивляться, какого черта все эти "com.apple" вещи. Или вы можете быть программистом с многолетним опытом, и такие вещи, как "System.out", могут быть наиболее естественными для вас.

com.apple - это все равно что сказать "заглянуть в домен com, внутри него поискать apple".

apple.com все равно, что сказать «ищите apple, который находится в домене com».

Так что все зависит от среды / ситуации, которую вы используете. Просто мои два цента!

...