Зворотна нотація домену бере свій початок у Java, але широко використовується у багатьох платформах, таких як Android Packages, Mac OS X Packages, JavaScript, ActionScript тощо.
Практика надзвичайно корисна, оскільки забезпечує децентралізовану систему програмного забезпечення для простору імен. Немає необхідності звертатися до централізованого агентства щодо простору імен; просто використовуйте доменне ім’я, яке ви є власником (зворотним) та керуйте цим у власній організації. Називаючи такі пакети, можна бути майже впевненим, що код не буде конфліктувати з іншими пакетами.
З навчальних посібників Java Oracle :
Компанії використовують своє перетворене доменне ім’я Інтернет для початку імен пакунків, наприклад, 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
).