Я создаю объект, который будет представлять некоторую системную информацию, которая может быть изменена вне моей программы. Я думаю о том, чтобы позволить пользователю моего кода указать функцию обратного вызова, которая будет вызываться при обнаружении изменения. Это то, что у меня есть, похоже, работает (функция doodie
будет предоставлена пользователем)
def doodie(cls):
print cls.teststr
class Testarino(object):
def __init__(self):
self.teststr = 'Yay!'
def callback(self):
raise NotImplementedError
def go(self):
self.callback(self)
tester = Testarino()
tester.callback = doodie
tester.go()
Я думал об использовании предоставленного пользователем декоратора, но я думаю, что он может быть менее интуитивным для пользователя.
Это лучший способ сделать это? Есть ли лучший способ?