Поширить переменную по классам? Здравствуйте. Как можно адекватно и удобно использовать переменную главного класса по всему проекту? Эта переменная - ОРМ, и мне нужен доступ к ней почти в каждом классе. Некоторые классы вообще подгружены отдельно, не через главный класс. Придумал только метод с instance'ом, типа при запуске выдать классу инстанс, потом подгружать ДБ по типу MainClass.Instance.DB.Action, но запись очень длинная получается.
Есть варианты короче?

21 Авг 2019 в 07:02
183 +1
0
Ответы
1

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

Ваш главный класс, в котором находится ORM, можно сделать синглтоном, чтобы можно было получить к нему доступ из любого места в проекте. Пример реализации:

public class ORMClass {
private static ORMClass instance;
private ORMClass() {
// инициализация ORM
}
public static ORMClass getInstance() {
if (instance == null) {
instance = new ORMClass();
}
return instance;
}
}

Теперь вы можете получить доступ к ORM из любого места в проекте следующим образом:

ORMClass orm = ORMClass.getInstance();

Это позволит вам сократить код при доступе к ORM по сравнению с использованием instance'а с MainClass.Instance.DB.Action.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир