@Damon_Shine
.NET, Kotlin

Как выстроить структуру Java приложения?

Добрый день, переучиваюсь с C# на Java, на C# писал 5 лет, но в мире Java больше денег, а в профессии я исключительно из-за денег. Собственно все более менее приемлемо, но нет модификатора доступа internal. Для меня эта проблема неразрешима в плане архитектуры.

Например: есть приложение с пакетами service, object, contract, helper, util, api, builder, в пакете helper лежат классы которые нужны в любом месте приложения, но не должны быть доступны за пределами главного пакета. К примеру вы определили StringHelper с методами типа IsNullOrWhiteSpace, IsNullOrEmpty и тд, данные методы могут пригодиться и в UI и в сервисах так, что это не проблема архитектуры в целом, а проблема отсутствия в Java модификатора доступа internal.

Возможно я неверно подхожу к принципу пакетов в Java, так как в C# концепция namespace'ов работает совсем иначе и в Java нет папок, а сваливать все в кучу для решения проблемы слишком болезненно для моего сознания. Собственно мне так же мешает, что в Kotlin тоже есть internal. На скрине структура проекта, но разумеется большинство классов public.

5a24631024134298571327.png

Спасибо.

С уважением, Дмитрий
  • Вопрос задан
  • 610 просмотров
Решения вопроса 2
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
В джаве это будет публичными методами, и всё. Система пакетов довольно неудобна, с этим придётся смириться.
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Ваш вопрос решается на уровне модулей: объявляете классы в пакете публичными, но не экспортируете их в модуле.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы