¿Por qué tantos espacios de nombres comienzan con com

45

Me he dado cuenta de que muchas empresas utilizan los espacios de nombre de "nombre de dominio inverso" y tengo curiosidad por saber dónde se originó esa práctica y por qué continúa. ¿Simplemente continúa debido a la práctica de memoria, o hay un concepto de arquitectura excepcional que podría faltar aquí?

También tenga en cuenta preguntas como las siguientes: enlace ese tipo de respuesta a mi pregunta pero no al 100%

(Si te hace sentir mejor, tengo mucha curiosidad por si debería usarlo para mis esfuerzos de espacios de nombre de javascript, pero tengo más curiosidad acerca de 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:

    
pregunta jcolebrand 21.12.2012 - 22:42

4 respuestas

53

Notación de dominio inverso tiene sus orígenes en Java, pero se usa ampliamente en muchas plataformas, como los paquetes de Android, Mac Paquetes OS X, JavaScript, ActionScript y más.

La práctica es extremadamente útil porque proporciona un sistema descentralizado para el software de espacios de nombres. No es necesario solicitar a un organismo centralizado un espacio de nombres; simplemente use el nombre de dominio que posee (anulado) 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 de Java de Oracle :

  

Las empresas utilizan su nombre de dominio de Internet invertido para comenzar los nombres de sus paquetes   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 ser manejadas por   convención dentro de esa empresa, tal vez incluyendo la región o la   nombre del proyecto después del nombre de la empresa (por ejemplo,   com.example.region.mypackage).

Es más que una práctica de rutina, 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 poseer el dominio acme.com , por lo que pueden usar el espacio de nombres com.acme. .

Invertir el nombre del dominio permite una arquitectura descendente. com contendría el código para las compañías (o cualquier persona que posea un nombre de dominio .com), y debajo de eso aparecerían los nombres de las compañías (dominio). Luego, más profundamente dentro de eso estaría la estructura de la organización y / o el espacio de nombres real. (Por ejemplo, si era un código de una red llamada internal.acme.com , eso le da a este departamento su propio espacio de subnombre de com.acme ). Esta estructura de arriba a abajo se usa en un número de aplicaciones, incluida la administración de sistemas. (Es similar a invertir las búsquedas 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 excesivo) pero se puede solucionar fácilmente con un cierre y una variable local ( var DF = com.digitalfruition ).

    
respondido por el Josh 21.12.2012 - 22:48
13

Esto se debe a que el uso de 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, lo puedes ordenar; todos los nombres que pertenecen a su pequeña parte del universo de 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 debe 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 que las clases sean fáciles de calificar.

    
respondido por el Martijn Pieters 21.12.2012 - 22:47
2

Endianness

No soy un experto en java, pero en cuanto al patrón general, esto es solo otra permutación de big-endian contra little-endian, hablando metafóricamente.

  

"Endianness" se usa a veces para describir el orden de los componentes   de un nombre de dominio, por ejemplo, 'en.wikipedia.org' (el habitual moderno   forma 'little-endian') frente al DNS inverso 'org.wikipedia.en'   ('big-endian', usado para nombrar componentes, paquetes o tipos en   sistemas informáticos, por ejemplo, paquetes Java, archivos ".plist" de Macintosh,   etc.). Las URL pueden considerarse 'big-endian', aunque la parte del host   podría ser un nombre DNS 'little-endian'.

En este caso, es probable que sea con fines organizativos para permitir la agrupación natural / ramificación de árboles. Mantiene las cosas ordenadas a un nivel más alto, y usted profundiza para obtener detalles más 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.

    
respondido por el Ed Hastings 21.12.2012 - 22:50
0

Creo que un detalle menor no se mencionó 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 adjuntan automáticamente" .com si faltaba en la dirección (por ejemplo, si la búsqueda de nombres falló). Así que si escribes "shareware", se expandirá a " enlace " (o " enlace "; no recuerdo el detalle de www). Los dominios .com son probablemente los más populares.

    
respondido por el user124114 21.11.2014 - 02:17

Lea otras preguntas en las etiquetas