Skip to content

Instantly share code, notes, and snippets.

@hustshawn
Last active December 6, 2016 07:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hustshawn/52169f482b593249d8ce9c502824a959 to your computer and use it in GitHub Desktop.
Save hustshawn/52169f482b593249d8ce9c502824a959 to your computer and use it in GitHub Desktop.
The observer pattern implementation demo with Python
class Observable:
def __init__(self, *args, **kwargs):
self.__observers = []
def register_observer(self, observer):
self.__observers.append(observer)
def notify_observers(self, *args, **kwargs):
for observer in self.__observers:
observer.notify(self, *args, **kwargs)
class Observer:
def __init__(self, observable):
observable.register_observer(self)
def notify(self, observable, *args, **kwargs):
print('Got', args, kwargs, 'From', observable)
subject = Observable()
observer = Observer(subject)
subject.notify_observers('SIGNAL')
@hustshawn
Copy link
Author

hustshawn commented Dec 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment