J'ai remarqué que de nombreuses entreprises utilisent des espaces de noms "noms de domaine inversés" et je suis curieux de savoir d'où provient cette pratique et pourquoi. Cela continue-t-il simplement à cause de la pratique par cœur, ou existe-t-il un concept d'architecture remarquable qui pourrait me manquer ici?
Notez également des questions telles que: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java ce genre de réponse à ma question mais pas 100 %
(Si cela vous aide à vous sentir mieux, je suis vraiment curieux de savoir si je devrais l'utiliser pour mes efforts de recherche de noms javascript, mais je suis plus curieux de savoir quand et pourquoi, et cela devrait m'aider à me guider sur la réponse javascript, nota bene: "fenêtre")
Exemple de cette pratique s’étendant aux dossiers et aux fichiers:
la source
Réponses:
La Notation de domaine inversée a ses origines en Java, mais elle est largement utilisée dans de nombreuses plates-formes, telles que les packages Android, les packages Mac OS X, JavaScript, ActionScript, etc.
Cette pratique est extrêmement utile car elle fournit un système décentralisé pour les logiciels d’espace de nommage. Il n'est pas nécessaire de demander à un organisme centralisé un espace de noms. utilisez simplement le nom de domaine que vous possédez (inversé) et gérez-le au sein de votre propre organisation. En nommant des paquets comme celui-ci, on peut être presque certain que le code ne sera pas en conflit avec d'autres paquets.
À partir des tutoriels Java d'Oracle :
C'est plus qu'une pratique par cœur, c'est une bonne pratique car il s'agit d'un espace de noms complet et entièrement spécifique . S'il y avait deux sociétés nommées Acme et que les deux choisissaient l'espace de nom
acme.
, leur code serait en conflit. Mais une seule de ces sociétés peut posséder le domaine acme.com et doit donc utiliser l’com.acme.
espace de noms.L'inversion du nom de domaine permet une architecture descendante.
com
contiendrait le code pour les entreprises (ou toute personne qui possède un nom de domaine .com), et dessous, les noms de société (de domaine). Ensuite, la structure de l’organisation et / ou l’espace de nommage lui-même seraient plus profonds. (Par exemple, s'il s'agit d'un code provenant d'un réseau appelé internal.acme.com , ce département dispose de son propre sous-espace de nomscom.acme
.) Cette structure descendante est utilisée dans un certain nombre d'applications, notamment dans l'administration des systèmes. (C'est similaire aux recherches inversées d'adresse IP.)Personnellement, je l’utilise pour tous les nouveaux codes JavaScript que j’écris pour mon entreprise. Cela garantit que le code ne sera jamais en conflit avec un autre code, même si j'écris plus tard le même code pour une autre société. Cela peut rendre l'accès au code fastidieux (la saisie
com.digitalfruition.
peut être un peu fastidieuse ) mais cela peut facilement être contourné avec une fermeture et une variable locale (var DF = com.digitalfruition
).la source
com._123ABC
. Vous trouverez des exemples à docs.oracle.com/javase/tutorial/java/package/namingpkgs.html .C'est parce que l'utilisation des espaces de noms réduit considérablement les risques de conflits de noms et que l'utilisation de votre nom de domaine (déjà réglementé) est un bon moyen de créer un espace de noms global .
En inversant la partie de domaine dans l’espace de noms, vous la rendez triable; tous les noms qui appartiennent à votre petit morceau de l'univers de l'espace de noms sont triés ensemble.
Enfin, le TLD
.com
est le plus populaire sur Internet. Il est donc utilisé par plus de développeurs de logiciels que tout autre TLD.Dans tous les cas, la pratique a commencé avec Java, où chaque classe a besoin de posséder son propre fichier et de jouer dans un écosystème plus vaste, le schéma d'espace de noms global a été introduit pour permettre aux classes de rester qualifiées.
la source
Endianité
Je ne suis pas un expert de Java, mais en ce qui concerne le schéma général, il ne s'agit que d'une autre permutation entre big-endian et little-endian, métaphoriquement.
Dans ce cas, il est vraisemblablement à des fins organisationnelles de permettre un regroupement naturel / une ramification d’arbres. Cela permet de garder les choses à un niveau supérieur et de creuser pour obtenir des détails plus spécifiques.
L’alternative serait très plate, et un groupe significatif / potentiellement utile devrait être interprété plutôt que intrinsèque à la structure.
la source
Je pense qu’un détail mineur n’a pas été mentionné dans les autres réponses: La raison pour laquelle le TLD. .Com est le plus populaire, c’est que, dans les premiers jours du Web, les navigateurs Web comme Netscape Navigator "ajoutés automatiquement", si il manquait dans l'adresse (par exemple, si la recherche de nom a échoué). Donc, si vous tapez "shareware", il sera étendu à " http://shareware.com " (ou " http://www.shareware.com "; je ne me souviens pas du détail www). Les domaines .com sont probablement toujours les plus populaires.
la source