Odwrotna notacja domen ma swoje początki w Javie, ale jest szeroko stosowana na wielu platformach, takich jak Pakiety Androida, Pakiety Mac OS X, JavaScript, ActionScript i inne.
Ta praktyka jest niezwykle przydatna, ponieważ zapewnia zdecentralizowany system oprogramowania do przestrzeni nazw. Nie trzeba składać wniosku do scentralizowanej agencji o przestrzeń nazw; wystarczy użyć nazwy domeny (odwróconej) i zarządzać nią we własnej organizacji. Nazewając takie pakiety, można być niemal pewnym, że kod nie będzie kolidował z innymi pakietami.
Z samouczków Java Oracle :
Firmy używają swojej odwróconej nazwy domeny internetowej do rozpoczynania nazw swoich pakietów, na przykład com.example.mypackage dla pakietu o nazwie mypackage utworzonego przez programistę w example.com.
Kolizje nazw występujące w obrębie jednej firmy muszą być obsługiwane przez konwencję w ramach tej firmy, być może poprzez dołączenie regionu lub nazwy projektu po nazwie firmy (na przykład com.example.region.mypackage).
To coś więcej niż zwykła praktyka, to dobra praktyka, ponieważ jest to kompletna i w pełni specyficzna przestrzeń nazw. Gdyby istniały dwie firmy o nazwie Acme i obie wybrały przestrzeń nazw acme.
, ich kod byłby w konflikcie. Ale tylko jedna z tych firm może posiadać domenę acme.com , więc mogą korzystać z com.acme.
przestrzeni nazw.
Odwrócenie nazwy domeny pozwala na odgórną architekturę. com
zawierałby kod firm (lub każdego, kto jest właścicielem nazwy domeny .com), a pod nimi nazwy firm (domeny). Następnie głębiej w tej strukturze byłaby struktura organizacji i / lub rzeczywista przestrzeń nazw. (Na przykład, jeśli był to kod z sieci o nazwie internal.acme.com , który nadaje temu działowi własną podprzestrzeń nazw com.acme
.) Ta odgórna struktura jest używana w wielu aplikacjach, w tym w administracji systemów. (Jest to podobne do wyszukiwania wstecznego adresu IP).
Osobiście używam go do całego nowego kodu JavaScript, który piszę dla mojej firmy. Zapewnia to, że kod nigdy nie będzie w konflikcie z żadnym innym kodem, nawet jeśli później napiszę ten sam kod dla innej firmy. Może to utrudnić dostęp do kodu (pisanie com.digitalfruition.
może trochę się wydłużyć), ale można to łatwo obejść za pomocą zamknięcia i zmiennej lokalnej ( var DF = com.digitalfruition
).