2011-09-14 23 views
21

Powiel możliwe:
Java packages com and orgJava konwencje pakiet nazewnictwa

Jestem programistą Java, teraz dzień jestem rozpórki uczenia się i czytając poradnik ciekawostka wtargnięcie w moim umyśle dotyczące

pakiet com.something.something;

wiem, że jest to bardzo prosta deklaracja pakiet ale co

pakiet com .something.something;

Fragment nazwy pakietu często występuje w wielu komercyjnych dystrybucjach. Teraz chcę wiedzieć, co to znaczy? Proszę to wyjaśnić.

Dzięki i przepraszam, jeśli nie mogę wyjaśnić to ...

+0

Jeśli pytasz, wstawiamy com przed nazwą pakietu, to odpowiedź jest tylko konwencją, nie ma innego powodu. Niektórzy twierdzą, że jest to odwrotność przestrzeni nazw URL lub XML, ale to nic innego, jak konwencja. – Shahzeb

+0

Właściwie powinieneś postępować zgodnie z tym, co mówią inni poniżej ... –

+0

jeśli napisałeś pojedynczą klasę, to znasz tę nazwę domeny, gdzie może być, tak jak to może być twoje nazwisko.nazwisko. Sun-Oracle i dokumentacja mogą powiedzieć, co czują się stosowne, ale kiedy spędzam cały dzień na tworzeniu zajęć, wiem, że prawie nigdy nie są nazwami domen. Wyrzuć org.apache.commons lub commons.apache.org i powiedz mi, w jaki sposób ich strona powitalna wygląda. – Shahzeb

Odpowiedz

22

To tylko definicja przestrzeni nazw, aby uniknąć kolizji nazw klas. com.domain.package.Class jest ustaloną konwencją Java, w której przestrzeń nazw jest kwalifikowana z domeną firmy w odwrotnej kolejności.

+0

Powiązane dokumenty: http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html –

+2

Co należy zrobić, jeśli nie mam własnej domeny? –

+1

@StephenHolt Jeśli twój kod jest open-source i hostowany w publicznym repozytorium, popularny jest trend używania domeny samego repozytorium kontroli kodu źródłowego. Na przykład wiele popularnych projektów nadal używa 'net.sourceforge' lub' net.sf', a następnie ich nazw projektów. Obecnie zarówno GiHub, jak i GitLab zapewniają statyczny hosting dla twoich projektów na 'project.gihub.io' i' project.gitlab.io', dzięki czemu mogą być kolejną opcją do eksploracji. – Mrinal

6

Jest to wyrażone w odwrocie nazwa domeny.

Na przykład jedną z moich domen jest hedgee.com. Używam więc com.hedgee jako podstawowej nazwy wszystkich moich pakietów.

2
  • com => domen
  • nazwa coś => Firma
  • coś name => Pakiet Główny

Na przykład: com.paresh.mainpackage

Firmy wykorzystują ich odwróceniu Internet nazwa domeny, aby rozpocząć nazwy pakietów - na przykład com.example.mypackage dla pakietu o nazwie mypackage utworzonego przez programistę z witryny example.com. Ta informacja znalazłem na http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html

+2

Ta odpowiedź jest brakuje bardzo ważnego związku z rzeczywistymi, zarejestrowanymi nazwami domen. Właśnie to * gwarantuje *, że nazwa twojego pakietu jest unikalna. –

24

Wikipedia wszystkich miejsc, actually discusses this.

Chodzi o to, aby upewnić się, że wszystkie nazwy paczek są niepowtarzalne na całym świecie, ponieważ autorzy używają wariantu nazwy DNS, którą posiadają, aby nazwać pakiet.Na przykład, właściciele domeny joda.org stworzył szereg pakietów, których nazwy zaczynają się org.joda, na przykład:

  • org.joda.time
  • org.joda.time.base
  • org.joda.time.chrono
  • org.joda.time.convert
  • org.joda.time.field
  • org.joda.time.format
2

z artykułu z Wikipedii na Java package naming:

Generalnie, nazwa pakietu rozpoczyna się od górnej nazwy domeny poziom organizacji, a następnie domeny organizacji, a następnie wszelkich subdomen, wymienionych w odwrotnej kolejności. Organizacja może następnie wybrać konkretną nazwę swojego pakietu. Nazwy pakietów powinny być pisane małymi literami, gdy tylko jest to możliwe.
Na przykład, jeśli organizacja w Kanadzie nazywane MySoft tworzy pakiet do czynienia z frakcji, nazywania ca.mysoft.fractions opakowania wyróżnia pakiet frakcje z innego podobnego pakietu stworzonego przez inną firmę. Jeśli amerykańska firma MySoft również tworzy pakiet frakcji, ale nazywa go us.mysoft.fractions, wówczas klasy w tych dwóch pakietach są zdefiniowane w unikalnej i oddzielnej przestrzeni nazw.
1

To co Sun-Oracle documentation mówi:

Nazwy pakietów są pisane małymi literami w celu uniknięcia konfliktu z nazwami klas i interfejsów.

Firmy używają odwróconej nazwy domeny internetowej, aby rozpocząć nazwy pakietów - na przykład com.example.mypackage dla pakietu o nazwie mypackage utworzonego przez programistę w example.com.