Что такое «класс драйвера»?

#java #arrays

#java #ооп

Вопрос:

Я читал учебник по Java, и в нем упоминается нечто, называемое «класс драйверов». Что это такое и чем оно отличается от обычного класса?

Комментарии:

1. Он управляет кодом.

Ответ №1:

«Класс драйвера» часто является просто классом, который содержит main . В реальном проекте у вас часто может быть множество «классов драйверов» для тестирования и еще много чего, или вы можете встроить main в любой из ваших объектов и выбрать исполняемый класс через вашу IDE или просто указав «java classname».

Комментарии:

1. Не могу сказать, что я когда-либо слышал, чтобы класс, содержащий основной метод, раньше назывался классом драйвера — обычно это что-то вроде «основного класса» или «точки входа». Хотя это только мой опыт — автор может использовать его в вашем смысле…

2. Я думаю, что это особенность серии Deitel Deitel. Я проработал пару их книг, и я помню, что Driver был основным классом для ряда примеров.

3. Ну, я читаю книгу по подготовке к тестированию AP Java. Afaict, это термины, которые они используют в тесте.

4. За более чем 10 лет java я никогда не слышал, чтобы термин «класс драйверов» ассоциировался с чем-либо, кроме одного драйвера jdbc. Если в вашей книге исполняемый класс с методом «main» называется «класс драйвера», автор вашей книги вводит экзотический термин в сообщество Java.

5. Большинство моих классов в колледже называли основной класс «драйвером». Он управляет приложением. Я никогда не слышал, чтобы этот термин использовался в неакадемическом мире.

Ответ №2:

Без контекста трудно сказать. Возможно, речь идет о драйвере JDBC? Если это так, то класс driver отвечает за реализацию интерфейса java.sql.Driver для конкретной базы данных, чтобы клиенты могли писать код независимо от базы данных. Инфраструктура JDBC определяет, какой драйвер использовать, на основе строки подключения.

Если в книге не говорилось о JDBC, нам понадобится больше контекста.

Комментарии:

1. В качестве примера можно привести раздел «Создание файла конфигурации гибернации» ( redhat.com/docs/en-US/JBoss_Developer_Studio/en/hibernatetools /… ), с изображением redhat.com/docs/en-US/JBoss_Developer_Studio/en/hibernatetools /… чтобы еще больше проиллюстрировать ваш ответ.

2. Я не уверен — если спрашивающий новичок в Java, введение Hibernate в микс, даже для демонстрационных целей, может быть не очень полезным.

Ответ №3:

Согласно моей книге по Java:

Класс драйвера — это класс, который отвечает за запуск других классов. Точно так же, как компьютерный термин «Программный драйвер» относится к части программного обеспечения, которая запускает или управляет чем-то другим.

Ответ №4:

«класс драйвера» может относиться к процедурному стилю программирования, включающему: (1) «классы контейнеров» и (2) «классы драйверов»

Допустим, вы создаете свой собственный объект в качестве контейнера для данных. Тогда вы можете захотеть создать два типа классов: «контейнеры» и «драйверы»

«Класс контейнера» может содержать: — переменные экземпляра для хранения соответствующих данных — средства получения и установки — методы для поддержки перемещения данных в / из класса (синтаксический анализ, трансляция) — ограниченные вычисления

«Класс драйвера» может содержать: — основной метод, который управляет выполнением общей задачи (он же точка входа для выполнения) — вызовы статических методов, как при процедурном программировании — экземпляры объектов класса контейнера для хранения различных данных (могут быть организованы в другие структуры данных, например, массивы; обрабатываются длярешите общую задачу)