@p4p

Как написать класс для работы с sqlite?

Не селен я в ООП, требуется помощь.

Есть класс SQLite , он в методе connect(), получается в объект database открытую базу sqlite.
Хотелось бы реализовать, что то вроде такого (чтобы можно было выполнять запросы из других классов не пересоздавая объектов этого) sqlite.query() как то так)

Кажется это называется синглтон?

Сейчас я работаю так
SQLite sqlite = new SQLite();
sqlite.connect().query();


public class SQLite {

    public  SqliteDatabase  connect()
    {
           SqliteDatabase database = new SqliteDatabase();
           // тут куча кода
           database.Open(Application.persistentDataPath + "/db.sqlite");
           return database;
    }

}
  • Вопрос задан
  • 3063 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Кажется это называется chaining.

public class SQLite {
    
    private  SqliteDatabase link;
    private bool isConnected;

    public  SQLite  connect()
    {
           if (isConnected) return this;
           link = new SqliteDatabase();
           // тут куча кода
           link.Open(Application.persistentDataPath + "/db.sqlite");
           isConnected = true;

           return this;
    }

}
Ответ написан
@gleb_kudr
Сохраните свой объект-обертку открытой БД в каком-нибудь глобальном классе и обращайтесь к нему когда надо. Синглтон это по поведению и по смыслу почти то же самое что глобальная переменная, можно не заморачиваться.

Особенно с SQLite - она не держит многопоточность, поэтому поддержка более одного коннекшена вредна во всех случаях.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы