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