Обратная доменная нотация берет свое начало в Java, но широко используется во многих платформах, таких как пакеты Android, пакеты Mac OS X, JavaScript, ActionScript и многие другие.
Практика чрезвычайно полезна, потому что она обеспечивает децентрализованную систему для программного обеспечения пространства имен. Нет необходимости обращаться в централизованное агентство за пространством имен; просто используйте доменное имя, которым вы владеете (полностью измененное), и управляйте им в своей организации. Называя такие пакеты, можно быть почти уверенным, что код не будет конфликтовать с другими пакетами.
Из Oracle Java Tutorials :
Компании используют обратное доменное имя в Интернете, чтобы начать имена своих пакетов, например, com.example.mypackage для пакета с именем mypackage, созданного программистом на example.com.
Конфликты имен, которые происходят в пределах одной компании, должны обрабатываться в рамках соглашения внутри этой компании, возможно, путем включения региона или названия проекта после названия компании (например, com.example.region.mypackage).
Это больше, чем просто практика, это хорошая практика, потому что это полное и полностью определенное пространство имен. Если бы существовали две компании с именем Acme, и обе выбрали пространство имен acme.
, их код мог бы конфликтовать. Но только одна из этих компаний может владеть доменом acme.com , поэтому они могут использовать com.acme.
пространство имен.
Реверсирование доменного имени допускает нисходящую архитектуру. com
будет содержать код для компаний (или тех, кто владеет доменным именем .com), и под ними будут названия компаний (доменов). Затем, глубже внутри будет структура организации и / или фактическое пространство имен. (Например, если это был код из сети с именем internal.acme.com , это дает этому отделу свое собственное подпространство имен com.acme
.) Эта нисходящая структура используется в ряде приложений, в том числе в системном администрировании. (Это похоже на обратный поиск IP-адресов.)
Лично я использую его для всего нового кода JavaScript, который я пишу для своей компании. Это гарантирует, что код никогда не будет конфликтовать с любым другим кодом, даже если я позже напишу тот же код для другой компании. Это может сделать доступ к коду громоздким (набор текста com.digitalfruition.
может стать немного дороже), но это легко можно обойти с помощью замыкания и локальной переменной ( var DF = com.digitalfruition
).