Я не понимаю, почему Java использует обратное (возможно, гипотетическое) доменное имя в качестве имени пакета, хотя в основном нет связи между доменным именем, которое используют некоторые люди, и продуктами, которые они имеют. У многих разработчиков даже нет домена.
Каковы причины этого соглашения об именах, если таковые имеются?
com.louisrhys.xxx.yyy
независимо от того, являетесь ли вы владельцемlouisrhys.com
Ответы:
Глобальная уникальность. Если все или, по крайней мере, серьезные разработчики, распространяющие свой код за пределами собственных проектов, придерживаются этого соглашения, никогда не случится столкновение имен при добавлении в проект другой сторонней библиотеки. Имейте в виду, что Java изначально распространялась как решение для развертывания кода в любом месте и в любое время (с помощью апплетов и удаленной загрузки классов через Интернет).
источник
Java was initially propagated as a solution for code deployment anywhere, anytime
В отличие от того, что Java сейчас? Я не знаю о вас, но я все еще несколько успешно использую Java WebStart для развертывания кода на стороне клиента на тысячах компьютеров во внутренней сети. Это делает "Release Early, Release Часто" намного менее болезненным для всех.Как говорит Википедия на эту тему,
источник
Я нашел два опубликованных Oracle документа, в которых обсуждается наименование пакетов. В разделе « Учебники по Java» есть страница « Наименование пакета» и раздел «Пакеты» в спецификации языка Java .
Основная цель этого соглашения - попытаться минимизировать конфликты между пакетами, опубликованными различными организациями.
источник