DBAdapter дизайн вопрос - PullRequest
       2

DBAdapter дизайн вопрос

1 голос
/ 16 октября 2010

Я разрабатываю приложение для Android с базой данных.В этой базе данных будет более трех таблиц.

Сейчас я работаю над классом DBAdapter для доступа к базе данных SQLite.

В DBAdpater будет пять методов для каждой таблицы в базе данных (insertEntry, removeEntry, getAllEntries, getEntry и updateEntry).

Итак, если у меня пять таблиц, у DBApadter будет более двадцати пяти методов.Я думаю, что это так здорово.

Какими могут быть классы DBAdapter?

Спасибо.

1 Ответ

1 голос
/ 30 октября 2010

Вы должны иметь возможность хранить до 5 открытых методов и один класс DBAdapter.

Создайте тип ENUM, который определяет, с какой таблицей вы хотите работать, и добавьте дополнительный аргумент, который содержит объект (т.е. HashTable), который содержит пары имя / значение, необходимые для вашего запроса. Это сохраняет ваш публичный интерфейс в чистоте.

т.е:

DBAdaptor.insertEntry (TABLES.table1, valuesHashTable)

вместо:

Table1DBAdaptor.insertEntry (arg1, arg2, arg3, arg4)

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

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

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