2015-06-08 2 views
0

В моем проекте (анализаторе для различных форматов) я упаковал модули по функциональности, но для каждого модуля требуется несколько классов.Java: классы упаковки с использованием кросс-модулей

Теперь я не уверен, что это лучшая практика здесь:

  • Если каждый модуль/пакет имеет дубликат класса? Компилятор, вероятно, оптимизирует это в любом случае, не так ли?
  • Создать пакет «Общий»? Это не так ...
  • Другие варианты?

ответ

0

Я бы не собирал дубликатов класса, что может вызвать у вас бесконечные головные боли, потому что одно и то же содержимое класса, загружаемое разными загрузчиками классов, не считается одним и тем же классом Java, поэтому вы получите невозможно понять сообщения об ошибках. И если все ваши баночки находятся в одном загрузчике классов, загрузится только первый класс, поэтому вы можете также разместить его только в одном месте.

Я бы, конечно, упаковал классы утилиты в своей собственной банке и имел зависимость от всех других пакетов, как в случае с другими библиотеками, которые вы можете использовать и т. Д. Вы даже можете использовать атрибут classpath манифеста для ссылки на библиотеку без труда.

+0

Я закончил создание пакета «Утилита». Похоже, это самый чистый способ сделать это. Благодаря! – fabs

0

Я предлагаю вам создать абстрактный класс и обеспечить имплантацию отдельно в каждом классе и упаковать их отдельно.

Смежные вопросы