Notazione del dominio inverso ha le sue origini in Java, ma è ampiamente usato in molte piattaforme, come i pacchetti Android, Mac Pacchetti OS X, JavaScript, ActionScript e altro.
La pratica è estremamente utile perché fornisce un sistema decentralizzato per il software di namespacing. Non è necessario rivolgersi a un'agenzia centralizzata per uno spazio dei nomi; usa semplicemente il nome di dominio che possiedi (invertito) e gestiscilo all'interno della tua organizzazione. Assegnando nomi a pacchetti come questo, è quasi certo che il codice non sarà in conflitto con altri pacchetti.
Da Oracle Java Tutorials :
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).
È più di una pratica a ripetizione, è una buona pratica perché è uno spazio dei nomi completo e completamente specifico . Se c'erano due società denominate Acme e entrambi hanno scelto lo spazio dei nomi acme.
, il loro codice sarebbe in conflitto. Ma solo una di queste aziende può possedere il dominio acme.com , in modo che possano utilizzare lo spazio dei nomi com.acme.
.
L'inversione del nome di dominio consente un'architettura top-down. com
conterrebbe il codice per le aziende (o chiunque possieda un proprio nome di dominio .com), e al di sotto di questo sarebbe il nome dell'azienda (dominio). Quindi, più in profondità all'interno di quella sarebbe la struttura dell'organizzazione e / o lo spazio dei nomi effettivo. Ad esempio, se si trattava di codice proveniente da una rete denominata internal.acme.com , questo dà a questo reparto il proprio sottospazio di com.acme
.) Questa struttura top-down viene utilizzata in un numero delle applicazioni, inclusa l'amministrazione dei sistemi. (È simile alla ricerca inversa di indirizzi IP.)
Personalmente, lo uso per tutto il nuovo codice JavaScript che scrivo per la mia azienda. Assicura che il codice non possa mai entrare in conflitto con nessun altro codice, anche se in seguito scriverò lo stesso codice per un'altra azienda. Può rendere complicato l'accesso al codice (digitare com.digitalfruition.
può essere un po 'troppo) ma può essere facilmente risolto con una chiusura e una variabile locale ( var DF = com.digitalfruition
).