Reverse Domain Notation tem suas origens em Java, mas é amplamente usado em muitas plataformas, como Pacotes Android, Mac Pacotes do OS X, JavaScript, ActionScript e muito mais.
A prática é extremamente útil porque fornece um sistema descentralizado para software de namespacing. Não há necessidade de se inscrever em uma agência centralizada para um namespace; simplesmente use o nome de domínio que você possui (invertido) e gerencie isso em sua própria organização. Ao nomear pacotes como este, pode-se ter quase certeza de que o código não entrará em conflito com outros pacotes.
Companies use their reversed Internet domain name to begin their package names for example, com.example.mypackage for a package named mypackage created by a programmer at example.com.
Name collisions that occur within a single company need to be handled by convention within that company, perhaps by including the region or the project name after the company name (for example, com.example.region.mypackage).
É mais do que uma prática rotineira, é uma boa prática porque é um namespace completo e totalmente específico . Se houvesse duas empresas chamadas Acme e ambas escolhessem o namespace acme.
, o código delas estaria em conflito. Mas apenas uma dessas empresas pode possuir o domínio acme.com , de modo que eles usem o namespace com.acme.
.
A reversão do nome de domínio permite uma arquitetura top-down. com
conteria código para empresas (ou qualquer pessoa que possua um nome de domínio .com) e, abaixo disso, nomes de empresas (domínio). Então, mais profundamente dentro disso, estaria a estrutura da organização e / ou o espaço de nomes real. (Por exemplo, se fosse um código de uma rede chamada internal.acme.com , isso daria a esse departamento seu próprio subespaço de com.acme
.) Essa estrutura de cima para baixo é usada em um número de aplicações, inclusive na administração de sistemas. (É semelhante a pesquisas inversas de endereços IP.)
Pessoalmente, eu o uso para todo o novo código JavaScript que eu escrevo para minha empresa. Garante que o código nunca entrará em conflito com qualquer outro código, mesmo que eu escreva o mesmo código para outra empresa. Isso pode dificultar o acesso ao código (digitar com.digitalfruition.
pode ser um pouco demais), mas isso pode ser facilmente contornado com um fechamento e uma variável local ( var DF = com.digitalfruition
).