设计模式之观察者模式的Python实现案例
1、打开Python开发工具IDLE,新建‘observer.py’文件,先假设一个简单的应用场景,把上课状态及时通知给学生和老师。先创建一个观察者父类。代码如下:class observe: def update(self,skzt): pass def display(self): pass

3、创建主题父类,有三个方法,注册观察者,移除观察者和通知观察者,代码如下:class subject: def registerObj(self,obj): pass def removeObj(self,obj): pass def notifyObj(self): pass

5、在程序入口,创建一个skl类的对象,和学生类及教师类的对象。改变上课状态并写测试注册通知的代码,如下:s1=skl()s1.setSkzt('上课')stu1 = student('张三')s1.registerObj(stu1)tec1 = teacher('王老师')s1.registerObj(tec1)s1.notifyObj()

7、测试移除观察者代码,仅需增加一行,代码如下:s1.removeObj(stu1)
