Ich habe festgestellt, dass viele Unternehmen "Reverse Domain Name" -Namensräume verwenden, und ich bin gespannt, woher diese Praxis stammt und warum sie so weitergeht. Geht es nur aus reinen Gründen weiter, oder fehlt mir hier vielleicht ein herausragendes Architekturkonzept?
Beachten Sie auch Fragen wie: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-injava , die meine Frage beantworten, aber nicht 100 %
(Wenn Sie sich dadurch besser fühlen, bin ich wirklich neugierig, ob ich es für meine JavaScript-Namespacing-Bemühungen verwenden sollte, aber ich bin eher neugierig, wann und warum und das sollte mir bei der Javascript-Antwort helfen, nota bene: "fenster")
Beispiel für diese Praxis, die sich auf Ordner und Dateien erstreckt:
quelle
Antworten:
Reverse Domain Notation hat seinen Ursprung in Java, wird jedoch häufig auf vielen Plattformen verwendet, z. B. in Android-Paketen, Mac OS X-Paketen, JavaScript, ActionScript und anderen.
Die Übung ist äußerst nützlich, da sie ein dezentrales System für Namespace-Software bereitstellt. Es ist nicht erforderlich, einen Namespace bei einer zentralen Agentur zu beantragen. Verwenden Sie einfach den Domain-Namen, den Sie besitzen (umgekehrt), und verwalten Sie ihn in Ihrer eigenen Organisation. Durch die Benennung von Paketen wie diesem kann man fast sicher sein, dass Code nicht mit anderen Paketen in Konflikt gerät.
Aus den Java-Tutorials von Oracle :
Es ist mehr als eine reine Übung, es ist eine gute Übung, da es sich um einen vollständigen und vollständig spezifischen Namespace handelt. Wenn es zwei Unternehmen mit dem Namen Acme
acme.
gäbe und beide den Namespace gewählt hätten , würde der Code in Konflikt geraten. Da jedoch nur eines dieser Unternehmen die Domain acme.com besitzen kann , darf es dencom.acme.
Namespace verwenden.Das Umkehren des Domainnamens ermöglicht eine Top-Down-Architektur.
com
würde Code für Unternehmen enthalten (oder für jeden, der einen .com-Domainnamen besitzt), und darunter würde Firmennamen (Domainnamen) stehen. Weiter innen wäre dann die Struktur der Organisation und / oder der eigentliche Namespace. (Wenn es sich beispielsweise um Code aus einem Netzwerk namens internal.acme.com handelt, der dieser Abteilung einen eigenen Sub-Namespace gibtcom.acme
.) Diese Top-Down-Struktur wird in einer Reihe von Anwendungen verwendet, einschließlich in der Systemadministration. (Es ähnelt der umgekehrten Suche nach IP-Adressen.)Ich persönlich benutze es für alle neuen JavaScript-Codes, die ich für mein Unternehmen schreibe. Es stellt sicher, dass der Code niemals mit einem anderen Code in Konflikt gerät, auch wenn ich später denselben Code für eine andere Firma schreibe. Es kann den Zugriff auf den Code umständlich machen (das Tippen
com.digitalfruition.
kann ein bisschen komplizierter werden), aber das kann leicht mit einem Abschluß und einer lokalen Variablen (var DF = com.digitalfruition
) umgangen werden .quelle
com._123ABC
. Beispiele finden Sie unter docs.oracle.com/javase/tutorial/java/package/namingpkgs.html .Dies liegt daran, dass die Verwendung von Namespaces das Risiko von Namenskonflikten erheblich verringert und die Verwendung Ihres Domainnamens (der bereits reguliert wurde) eine gute Möglichkeit ist, einen globalen Namespace zu erstellen .
Indem Sie den Domain-Teil im Namespace umkehren, können Sie ihn sortieren. Alle Namen, die zu Ihrem kleinen Teil des Namespace-Universums gehören, werden sortiert.
Last but not least ist die TLD
.com
die beliebteste TLD im Internet, sodass sie von mehr Softwareentwicklern als jede andere TLD verwendet wird.In jedem Fall begann die Praxis mit Java, wo jede Klasse ihre eigene Datei haben muss. Um in einem größeren Ökosystem zu spielen, wurde das globale Namespace-Schema eingeführt, um die Qualifizierung der Klassen zu vereinfachen.
quelle
Endianness
Ich bin kein Java-Experte, aber in Bezug auf das allgemeine Muster ist dies, metaphorisch gesprochen, nur eine weitere Permutation von Big-Endian gegen Little-Endian.
In diesem Fall ist es vermutlich aus organisatorischen Gründen erforderlich, eine natürliche Gruppierung / Baumverzweigung zuzulassen. Es sorgt für Ordnung auf einer höheren Ebene, und Sie suchen nach genaueren Details.
Die Alternative wäre sehr flach und eine sinnvolle / potenziell nützliche Gruppierung müsste interpretiert werden, anstatt der Struktur eigen zu sein.
quelle
Ich denke, ein kleines Detail wurde in den anderen Antworten nicht erwähnt: Der Grund, warum die .com-TLD die beliebteste ist, ist, dass in den frühen Tagen des Webs Webbrowser wie Netscape Navigator .com "automatisch anfügen", wenn es fehlte in der Adresse (zB wenn die Namenssuche fehlschlug). Wenn Sie also "Shareware" eingeben, wird es zu " http://shareware.com " (oder " http://www.shareware.com "; ich erinnere mich nicht an das WWW-Detail) erweitert. .com-Domains sind wahrscheinlich immer noch die beliebtesten.
quelle