Reverse Domain Notation ha le sue origini in Java, ma è ampiamente usato in molte piattaforme, come pacchetti Android, pacchetti Mac OS X, JavaScript, ActionScript e altro.
La pratica è estremamente utile perché fornisce un sistema decentralizzato per software di spaziatura dei nomi. 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. Nominando pacchetti come questo, si può essere quasi certi che il codice non entrerà in conflitto con altri pacchetti.
Dai tutorial Java di Oracle :
Le aziende usano il loro nome di dominio Internet invertito per iniziare i nomi dei loro pacchetti, ad esempio com.example.mypackage per un pacchetto chiamato mypackage creato da un programmatore su example.com.
Le collisioni di nomi che si verificano all'interno di una singola azienda devono essere gestite per convenzione all'interno di quella società, magari includendo la regione o il nome del progetto dopo il nome della società (ad esempio com.example.region.mypackage).
È più di una pratica normale, è una buona pratica perché è uno spazio dei nomi completo e completamente specifico . Se ci fossero due società di nome Acme ed entrambe scegliessero lo spazio dei nomi acme.
, il loro codice sarebbe in conflitto. Ma solo una di quelle aziende può possedere il dominio acme.com , quindi possono usare lo com.acme.
spazio dei nomi.
L'inversione del nome di dominio consente un'architettura dall'alto verso il basso. com
conterrebbe il codice per le società (o chiunque possieda un nome di dominio .com) e sotto i nomi di tali società (dominio). Quindi, più in profondità sarebbe la struttura dell'organizzazione e / o lo spazio dei nomi reale. (Ad esempio, se è stato il codice di una rete chiamata internal.acme.com , a dare a questo reparto il proprio spazio dei nomi secondari di com.acme
.) Questa struttura top-down viene utilizzata in diverse applicazioni, inclusa l'amministrazione dei sistemi. (È simile alle ricerche inverse di indirizzi IP.)
Personalmente, lo uso per tutto il nuovo codice JavaScript che scrivo per la mia azienda. Assicura che il codice non entrerà mai in conflitto con nessun altro codice, anche se in seguito scrivo lo stesso codice per un'altra società. Può rendere l'accesso al codice ingombrante (la digitazione com.digitalfruition.
può diventare un po 'troppo) ma può essere facilmente risolto con una chiusura e una variabile locale ( var DF = com.digitalfruition
).