A Notação de Domínio Reverso tem origem em Java, mas é amplamente usada em muitas plataformas, como Pacotes Android, Pacotes Mac 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 solicitar a uma agência centralizada um espaço para nome; basta usar o nome de domínio que você possui (revertido) e gerenciá-lo 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.
Dos tutoriais Java da Oracle :
As empresas usam seu nome de domínio da Internet invertido para iniciar seus nomes de pacotes, por exemplo, com.example.mypackage para um pacote chamado mypackage criado por um programador em example.com.
As colisões de nomes que ocorrem em uma única empresa precisam ser tratadas por convenção nessa empresa, talvez incluindo a região ou o nome do projeto após o nome da empresa (por exemplo, com.example.region.mypackage).
É mais do que uma prática rotineira, é uma boa prática porque é um espaço para nome completo e totalmente específico . Se houvesse duas empresas nomeadas Acme e ambas escolhessem o espaço para nome acme.
, seu código entraria em conflito. Mas apenas uma dessas empresas pode ser proprietária do domínio acme.com , portanto, elas podem usar o com.acme.
espaço para nome.
A reversão do nome de domínio permite uma arquitetura de cima para baixo. com
conteria código para empresas (ou qualquer pessoa que possua um nome de domínio .com) e, por baixo, nomes de empresas (domínio). Então, mais profundamente dentro dela estaria a estrutura da organização e / ou o espaço para nome real. (Por exemplo, se fosse o código de uma rede chamada internal.acme.com , que desse ao departamento seu próprio sub-namespace com.acme
.) Essa estrutura de cima para baixo é usada em vários aplicativos, inclusive na administração de sistemas. (É semelhante a pesquisas reversas de endereços IP.)
Pessoalmente, eu o uso para todos os novos códigos JavaScript que escrevo para minha empresa. Ele garante que o código nunca entrará em conflito com outro código, mesmo que mais tarde 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
).