Birkaç çalışan için Python'da Observable
desenini uygulamak istiyorum ve bu yararlı snippet'e rastladım:Python'da geri çağırma gerçekleştirme - geçerli işleve bir çağrılabilir referansı aktarma
class Event(object):
pass
class Observable(object):
def __init__(self):
self.callbacks = []
def subscribe(self, callback):
self.callbacks.append(callback)
def fire(self, **attrs):
e = Event()
e.source = self
for k, v in attrs.iteritems():
setattr(e, k, v)
for fn in self.callbacks:
fn(e)
Kaynak: Here
Bunu anladığım kadarıyla subscribe
için fire
'de çağrılacak işleve bir geri bildirimi iletmesi gerekir. Çağıran işlev bir class
yöntemiyse, muhtemelen self
kullanmış olabilirdim, ancak bunun yokluğunda - self.callbacks.append(callback)
bit'i için yararlı olabilecek bir geri bildirimi doğrudan nasıl alabilirim?
Yöntemlerde "öz" argümanı eksik. –
Whoops. Örnek yöntemde unuttum. Statik yöntem bir 'self' almaz. – Amber
Mükemmel, teşekkürler size çok - Eğer geri arama için gözlemlenebilir yönteminden arama yapmak nasıl ben – malangi