Страницы

Поиск по вопросам

вторник, 26 ноября 2019 г.

Почему пакеты в java принято называть в обратную сторону доменного имени?


То что это делать надо именно так, везде написано. Но почему люди договорились называть именно так? Может быть в этом есть какое-то неочевидное удобство?
    


Ответы

Ответ 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



Имена пакетов - это структура папок. Именование идет от общего к частному: у региона имеются компании, у компаний - подразделения, у них проекты, в проектах классы и тд. То есть, корневая папка объеденяет общий домен, в которой "сложены" компании, в папке каждой компании - ее проекты ... это наиболее логичная структура

Комментариев нет:

Отправить комментарий