Назад | Начало урока | Вперед
Содержание

Глава 8

Сравниваем две модели

И у Дейтела и у Портянкина во вспомогательном классе модели таблицы есть следующие методы:

1. getColumnClass(int column)

У Портянкина в этом методе обрабатывается список типов колонок, созданный заранее, а у
Дейтела - объект metaData непосредственно вытаскивает тип колонки
metaData.getColumnClassName( column + 1 );

2. getColumnCount()

У Портянкина в этом методе обрабатывается длина списка имен колонок, созданный заранее,
а у Дейтела - объект metaData непосредственно metaData.getColumnCount();

3. getRowCount()

У Портянкина в этом методе обрабатывается длина списка data (это двумерный список),
созданный заранее, а у Дейтела - возвращается переменная класса numberOfRows, которая
где-то была инициирована;

4. getColumnName(int column )

У Портянкина в этом методе обрабатывается список имен колонок columnNames, созданный
заранее, а у Дейтела - объект metaData непосредственно metaData.getColumnName( column + 1 );

5. public Object getValueAt(int row, int column)

У Портянкина в этом методе обрабатывается список data (это двумерный список), созданный
заранее, а у Дейтела - объект resultSet.getObject( column + 1 );

У Дейтела объекты Connection, Statement, ResultSet, ResultSetMetaData объявлены как
переменные-члены класса. Поэтому при обработке их в методах, не надо передавать их
через параметры.

У Портяникина вместо этих объектов объявлены списки, в которые уже помещены результаты
обращений к этим объектам.

Мне кажется у Дейтела подход проще, а потому лучше для меня.
Это хороший подход когда соединение с БД и отсоединени от БД
происходит в одном классе. А не так, как у Портянкина разбросано по разным
блокам. Ну не мог же он полностью скопировать класс у Дейтела. Потому вероятно он
изменил подход. И сделал свой класс модели таблицы.

Самые интересные конечно две последние функции:

void setQuery( String query ) - у Дейтела
void setDataSource( ResultSet rs) - у Портянкина

У Портянкина в этом методе инициируются данными списки: columnNames и columnTypes
А так же двумерный список data.

В классе модели Дейтела есть функция присоединения к БД и функция отсоединения и закрытия
БД. Эти функции внутри одного класса.

Вывод: модель Дейтела понятнее, изящнее и удобнее.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz