Есть, например, класс Goods выдающий информацию из базы данных.
Когда принято делать подключение к базе данных?
1) В основной программе, а в объект передавать идентификатор подключения.
Допустим Goods имеет два разных подключения к базе(один к локальной с описание товаров, а другой удаленный к сладу) и тогда выносить логику выбора из класса некрасиво
2) Создавать подключение в __init__ и сразу сообщить основной программе о проблемах с подключением.
Но возможно, программе и подключение к складу не нужно в данный момент.
Плюс, в основной программе, несколько копий объекта и следовательно к базе может быть очень много подключений
3) Создать при вызове методов Goods, по мере необходимости. Тогда каждый запрос будет подключение/отключение, что создась большую нагрузку
Когда принято делать подключение к базе данных?
1) В основной программе, а в объект передавать идентификатор подключения.
Допустим Goods имеет два разных подключения к базе(один к локальной с описание товаров, а другой удаленный к сладу) и тогда выносить логику выбора из класса некрасиво
2) Создавать подключение в __init__ и сразу сообщить основной программе о проблемах с подключением.
Но возможно, программе и подключение к складу не нужно в данный момент.
Плюс, в основной программе, несколько копий объекта и следовательно к базе может быть очень много подключений
3) Создать при вызове методов Goods, по мере необходимости. Тогда каждый запрос будет подключение/отключение, что создась большую нагрузку