【发布时间】:2011-06-09 01:35:26
【问题描述】:
我想在 Python 中为几个工人实现 Observable 模式,并遇到了这个有用的 sn-p:
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)
来源:Here
据我了解,为了subscribe,我需要将回调传递给将在fire 上调用的函数。如果调用函数是class 方法,大概我可以使用self,但如果没有这个 - 我怎么能直接获得对self.callbacks.append(callback) 位有用的回调?
【问题讨论】:
标签: python design-patterns functional-programming callback observer-pattern