Как организовать работу с базой данных в библиотеке? Привет всем.
Есть кастомная библиотека, которую я делал, все её методы взаимодействуют с базой данных, но конфиги для подключения к бд и таблицы находятся в отдельном файле, как будет правильнее организовать работу с бд, что бы избавиться от конфиг файла, но не утомлять пользователя вводом этих данных в конструктор класса?

21 Авг 2019 в 07:06
182 +1
1
Ответы
1

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

Создайте класс, который будет отвечать за работу с базой данных, например, класс Database. В конструктор этого класса передавайте все необходимые данные для подключения к БД (например, хост, имя пользователя, пароль, название базы данных).

Затем в конструкторе вашей кастомной библиотеки создайте экземпляр класса Database и используйте его для работы с базой данных. Таким образом, конфигурационные данные будут передаваться только один раз при создании объекта Database, и не нужно будет каждый раз передавать их при создании объектов вашей библиотеки.

Пример:

class Database:
def __init__(self, host, username, password, database):
# код для подключения к базе данных
class CustomLibrary:
def __init__(self, db):
self.db = db
def method1(self):
# использование self.db для работы с базой данных
def method2(self):
# использование self.db для работы с базой данных
db = Database(host='localhost', username='user', password='password', database='library_db')
library = CustomLibrary(db)

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

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир