Me he dado cuenta de que muchas empresas usan espacios de nombres de "nombre de dominio inverso" y tengo curiosidad por saber dónde se originó esa práctica y por qué continúa. ¿Continúa simplemente debido a la práctica rutinaria, o hay un concepto de arquitectura sobresaliente que podría estar perdiendo aquí?
También tenga en cuenta preguntas como: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java que responde mi pregunta pero no 100 %
(Si te hace sentir mejor, tengo mucha curiosidad si debería usarlo para mis esfuerzos de espacio de nombres de JavaScript, pero tengo más curiosidad sobre cuándo y por qué, y eso debería ayudarme a guiarme en la respuesta de JavaScript, nota bene: "ventana")
Ejemplo de esta práctica que se extiende a carpetas y archivos:
fuente
Respuestas:
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 :
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 elcom.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 nombrescom.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
).fuente
com._123ABC
. Ejemplos en docs.oracle.com/javase/tutorial/java/package/namingpkgs.html .Es porque usar espacios de nombres reduce enormemente las posibilidades de conflictos de nombres, y porque usar su nombre de dominio (que ya ha sido regulado) es una buena manera de crear un espacio de nombres global .
Al invertir la parte del dominio en el espacio de nombres, puede ordenarlo; Todos los nombres que pertenecen a su pequeño fragmento del universo del espacio de nombres se ordenan juntos.
Y por último, pero no menos importante, el TLD
.com
es el TLD más popular en Internet, por lo que es utilizado por más desarrolladores de software que cualquier otro TLD.En cualquier caso, la práctica comenzó con Java, donde cada clase necesita tener su propio archivo, y para jugar en un ecosistema más grande, se introdujo el esquema de espacio de nombres global para ayudar a mantener las clases fáciles de calificar.
fuente
Endianness
No soy un experto en Java, pero en cuanto al patrón general, esta es solo otra permutación de big-endian vs little-endian, metafóricamente hablando.
En este caso, es presumiblemente para fines organizativos permitir la agrupación natural / ramificación de árboles. Mantiene las cosas ordenadas en un nivel superior, y usted busca más detalles específicos.
La alternativa sería muy plana, y la agrupación significativa / potencialmente útil debería interpretarse frente a ser intrínseca a la estructura.
fuente
Creo que no se mencionó un detalle menor en las otras respuestas: la razón por la que el TLD .com es el más popular, es que en los primeros días de la Web, los navegadores web como Netscape Navigator se "autoanexaron" .com si faltaba en la dirección (por ejemplo, si fallaba la búsqueda de nombre). Entonces, si escribió "shareware", se expandiría a " http://shareware.com " (o " http://www.shareware.com "; no recuerdo el detalle de www). Los dominios .com son probablemente los más populares.
fuente