Я заметил, что многие компании используют пространства имен «обратное доменное имя», и мне любопытно, откуда возникла эта практика и почему она продолжается. Происходит ли это просто из-за заученной практики или есть выдающаяся архитектурная концепция, которую я мог бы здесь упустить?
Также обратите внимание на такие вопросы, как: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java, что-то вроде ответа на мой вопрос, но не 100 %
(Если это заставляет вас чувствовать себя лучше, мне действительно любопытно, стоит ли мне использовать его для моих усилий по созданию пространства имен javascript, но мне больше интересно узнать, когда и почему, и это должно помочь мне в ответе на javascript, nota Bene: "окно")
Пример этой практики распространяется на папки и файлы:
источник
Ответы:
Обратная доменная нотация берет свое начало в Java, но широко используется во многих платформах, таких как пакеты Android, пакеты Mac OS X, JavaScript, ActionScript и многие другие.
Практика чрезвычайно полезна, потому что она обеспечивает децентрализованную систему для программного обеспечения пространства имен. Нет необходимости обращаться в централизованное агентство за пространством имен; просто используйте доменное имя, которым вы владеете (полностью измененное), и управляйте им в своей организации. Называя такие пакеты, можно быть почти уверенным, что код не будет конфликтовать с другими пакетами.
Из Oracle Java Tutorials :
Это больше, чем просто практика, это хорошая практика, потому что это полное и полностью определенное пространство имен. Если бы существовали две компании с именем Acme, и обе выбрали пространство имен
acme.
, их код мог бы конфликтовать. Но только одна из этих компаний может владеть доменом acme.com , поэтому они могут использоватьcom.acme.
пространство имен.Реверсирование доменного имени допускает нисходящую архитектуру.
com
будет содержать код для компаний (или тех, кто владеет доменным именем .com), и под ними будут названия компаний (доменов). Затем, глубже внутри будет структура организации и / или фактическое пространство имен. (Например, если это был код из сети с именем internal.acme.com , это дает этому отделу свое собственное подпространство именcom.acme
.) Эта нисходящая структура используется в ряде приложений, в том числе в системном администрировании. (Это похоже на обратный поиск IP-адресов.)Лично я использую его для всего нового кода JavaScript, который я пишу для своей компании. Это гарантирует, что код никогда не будет конфликтовать с любым другим кодом, даже если я позже напишу тот же код для другой компании. Это может сделать доступ к коду громоздким (набор текста
com.digitalfruition.
может стать немного дороже), но это легко можно обойти с помощью замыкания и локальной переменной (var DF = com.digitalfruition
).источник
com._123ABC
. Примеры на docs.oracle.com/javase/tutorial/java/package/namingpkgs.html .Это потому, что использование пространств имен значительно снижает вероятность конфликтов имен, а также потому, что использование вашего доменного имени (которое уже регулируется) является хорошим способом создания глобального пространства имен.
Обращая доменную часть в пространстве имен, вы делаете ее сортируемой; все имена, которые принадлежат вашему маленькому фрагменту вселенной пространства имен, отсортированы вместе.
И последнее, но не менее важное: TLD
.com
является самым популярным TLD в Интернете, поэтому он используется большим количеством разработчиков программного обеспечения, чем любой другой TLD.В любом случае, практика началась с Java, где каждый класс должен иметь свой собственный файл, и для воспроизведения в более крупной экосистеме была введена глобальная схема пространства имен, чтобы помочь легко квалифицировать классы.
источник
Порядок байтов
Я не эксперт по Java, но что касается общего паттерна, то это просто очередная перестановка байтов с прямым порядком байтов и, по меньшей мере, метафорически.
В этом случае, по-видимому, для организационных целей допускается естественная группировка / ветвление дерева. Это поддерживает порядок на более высоком уровне, и вы копаете для более конкретной детализации.
Альтернатива была бы очень плоской, и значимая / потенциально полезная группировка должна была бы интерпретироваться против того, чтобы быть присущей структуре.
источник
Я думаю, что незначительная деталь не была упомянута в других ответах: причина того, что домен верхнего уровня .com является наиболее популярным, заключается в том, что в первые дни Интернета веб-браузеры, такие как Netscape Navigator, автоматически добавлялись. он отсутствовал в адресе (например, если поиск по имени не удался). Поэтому, если вы введете «shareware», оно будет расширено до « http://shareware.com » (или « http://www.shareware.com »; я не помню подробности www). Домены .com, вероятно, по-прежнему наиболее популярны.
источник