То что это делать надо именно так, везде написано. Но почему люди договорились называть именно так? Может быть в этом есть какое-то неочевидное удобство?
Ответы
Ответ 1
Уникальные имена в глобальном масштабе исключают конфликты имен между библиотекам
из разных источников. Вместо создания новой центральной базы данных глобальных имен используется реестр доменных имен.
Java Language Specification (JLS):
The suggested convention for generating unique package names is merely a way t
piggyback a package naming convention on top of an existing, widely known unique name registry instead of having to create a separate registry for package names.
Представь, что у тебя есть например четыре важных пакета и ты напишешь их так:
package controller.mysite.org;
package model.mysite.org;
package service.mysite.org;
package dao.mysite.org;
Это означает, что существует основной пакет, подраздел которого относится к твое
компании (имя твоего ресурса), а подраздел этого пакета называется пакетом org, который ты фактически используешь и он есть уникальный.
Но если написать так:
package org.mysite.controller;
package org.mysite.model;
package org.mysite.service;
package org.mysite.dao;
Эта запись имеет больший смысл. Из всех пакетов из организаций (org) ты, смотриш
на имя своей компании, и у нее есть четыре подпакета: controller, model, service, dao.
Ответ 2
Есть, хотя и довольно очевидное, оно неплохо изложено в документации к Java:
Компании используют в начале имён своих пакетов своё развёрнутое доменное имя
например com.example.mypackage, означающий пакет mypackage, созданный программистом из example.com.
Коллизии между пакетами в пределах одной компании должны разрешаться внутри само
компании, например добавлением к доменному имени компании региона или названия проекта, на манер com.example.region.mypackage.
В общем, снижает вероятность коллизий между именами пакетов. А когда они всё-таки случаются, минимизируют ущерб, количество и удалённость вовлечённых сторон.
Разумеется, никто не заставляет этим конвенциям следовать. Но сами разработчики в первую очередь заинтересованы в том, чтобы их пакеты не конфликтовали с чужими.
Ответ 3
Имена пакетов - это структура папок. Именование идет от общего к частному: у региона имеются компании, у компаний - подразделения, у них проекты, в проектах классы и тд.
То есть, корневая папка объеденяет общий домен, в которой "сложены" компании, в папке каждой компании - ее проекты ... это наиболее логичная структура
Комментариев нет:
Отправить комментарий