Шаблон для базы данных-оболочки в Java - PullRequest
0 голосов
/ 03 мая 2010

Я сейчас пишу java-класс, который обёртывает базу данных SQLite. Этот класс может быть создан двумя способами:

  1. Открыть существующую базу данных.
  2. Создать новую базу данных.

Вот что я придумал:

public class SQLiteDatabaseWrapper {
    public static SQLiteDatabaseWrapper openExisting(File PathToDB) {
        return new SQLiteDatabaseWrapper(PathToDB);
    }

    public static SQLiteDatabaseWrapper createNew(File PathToDB) {
        CreateAndInitializeNewDatabase(PathToDB);
        return new SQLiteDatabaseWrapper(PathToDB);
    }

    private SQLiteDatabaseWrapper(File PathToDB) {
        // Open connection and setup wrapper    
    }
}

Это путь на Java или есть другие лучшие практики для этой ситуации?

Ответы [ 3 ]

2 голосов
/ 03 мая 2010

Прежде всего: методы java должны начинаться со строчной буквы.Это не обеспечивается компилятором или спецификацией языка, но это соглашение, которому следуют все, и у вас возникнут проблемы с инструментами, IDE и, что наиболее важно, с другими программистами, если вы не будете следовать им.

0 голосов
/ 03 мая 2010

Вы могли бы сделать

public SQLiteDatabaseWrapper(File pathToDB, boolean createNew)
        throws IOException {

    if (!pathToDB.exists()) {
        if (createNew) {
            // Create new database, potentially throws exception
        } else {
            throw new FileNotFoundException();
        }
    }

    // Open connection and setup wrapper
}

public SQLiteDatabaseWrapper(File pathToDB) throws IOException {
    this(pathToDB, false);
}

чтобы не полагаться на статические методы для создания экземпляра оболочки вашей базы данных.

0 голосов
/ 03 мая 2010

Java уже имеет стандартные интерфейсы для абстракции базы данных, называемые JDBC.Лучше всего использовать существующие стандартные интерфейсы.Вот хорошее руководство JDBC .Вы должны получить драйвер SQLite JDBC и использовать его. SQLite.org содержит полный список драйверов баз данных, включая драйверы JDBC .Кроме того, вот руководство по подключению к базе данных SQLite с использованием JDBC .

...