Я использую некоторые классы, которые необходимо подключить к базам данных. Соединение действительно необходимо при выполнении реального действия. Я хочу задержать фазу соединения, пока она не понадобится. Для этого я хочу сделать что-то похожее на это:Используйте декоратор класса для реализации поздней инициализации
class MyClass
def __init__(self):
self.conn = None
def connect(self):
if self.conn : return
self.conn = ConnectToDatabase()
@connect
def do_something1(self):
self.conn.do_something1()
@connect
def do_something2(self):
self.conn.do_something2()
Но я не знаю, как определить connect
декоратора для класса.
Я мог бы, конечно, сделать что-то вроде этого:
def do_something1(self):
self.connect()
self.conn.do_something1()
Но использование декораторов кажется более читаемым решение. Является ли это возможным?
Это замечательно, спасибо. Когда я перестану учиться? – dangonfast
Когда ты умрешь. :) –
Если вы перестали учиться, вы устарели и замените более новую модель. – kindall