La notación de dominio inverso tiene su origen en Java, pero se usa ampliamente en muchas plataformas, como paquetes de Android, paquetes de Mac OS X, JavaScript, ActionScript y más.
La práctica es extremadamente útil porque proporciona un sistema descentralizado para el software de espacio de nombres. No hay necesidad de solicitar una agencia centralizada para un espacio de nombres; simplemente use el nombre de dominio que posee (al revés) y adminístrelo dentro de su propia organización. Al nombrar paquetes como este, uno puede estar casi seguro de que el código no entrará en conflicto con otros paquetes.
De los Tutoriales Java de Oracle :
Las empresas usan su nombre de dominio de Internet invertido para comenzar sus nombres de paquete, por ejemplo, com.example.mypackage para un paquete llamado mypackage creado por un programador en example.com.
Las colisiones de nombres que ocurren dentro de una sola compañía deben manejarse por convención dentro de esa compañía, quizás incluyendo la región o el nombre del proyecto después del nombre de la compañía (por ejemplo, com.example.region.mypackage).
Es más que una práctica rutinaria, es una buena práctica porque es un espacio de nombres completo y completamente específico . Si hubiera dos compañías llamadas Acme y ambas eligieran el espacio de nombres acme.
, su código entraría en conflicto. Pero solo una de esas compañías puede ser propietaria del dominio acme.com , por lo que pueden usar el com.acme.
espacio de nombres.
Invertir el nombre de dominio permite una arquitectura de arriba hacia abajo. com
contendría código para compañías (o cualquier persona que posea un nombre de dominio .com), y debajo de eso habría nombres de compañía (dominio). Entonces, más profundo dentro de eso sería la estructura de la organización y / o el espacio de nombres real. (Por ejemplo, si se trata de un código de una red llamada internal.acme.com , eso le da a este departamento su propio sub-espacio de nombres com.acme
). Esta estructura de arriba hacia abajo se usa en varias aplicaciones, incluida la administración de sistemas. (Es similar a la búsqueda inversa de direcciones IP).
Personalmente, lo uso para todos los nuevos códigos JavaScript que escribo para mi empresa. Asegura que el código nunca entrará en conflicto con ningún otro código, incluso si luego escribo el mismo código para otra compañía. Puede hacer que el acceso al código sea engorroso (escribir com.digitalfruition.
puede ser un poco demasiado), pero eso se puede solucionar fácilmente con un cierre y una variable local ( var DF = com.digitalfruition
).