[DesignPattern]Observer Pattern (Python)
来源:互联网 发布:mac联网后无法上网 编辑:程序博客网 时间:2024/06/05 01:51
周五听峰哥说java的设计模式,于是看看python的实现,理解下。
简单的实现观察者模式。
#!/usr/bin/env python# -*- coding: utf-8 -*-# observer_simple.py# Date: 2014-03-16# CopyRight: orangleliu@gmail.com# Lisence: BSD# tips:简单实现观察者模式class Subject(object): ''' Subject has three methods: add_observer delete_observer notify ''' def __init__(self): self.observers_list = [] def add_observer(self, obs): if obs is not self.observers_list: self.observers_list.append(obs) def delete_observer(self, obs): try: self.observers_list.remove(obs) except ValueError: pass def notify(self): for obs in self.observers_list: obs.notify()class Observer(object): def __init__(self, name): self.name = name def notify(self): print "%s accept the infomation" %self.nameif __name__=='__main__': ob1 = Observer('Java') ob2 = Observer('Python') sub = Subject() sub.add_observer(ob1) sub.add_observer(ob2) print 'Tow users' sub.notify() print 'One user' sub.delete_observer(ob1) sub.notify()'''console:PS D:\code\python\python_abc\design_pattern> python .\observer_simple.pyTow usersJava accept the infomationPython accept the infomationOne userPython accept the infomationquote: https://github.com/jfcalvo/patterns/blob/master/python/observer.py http://code.activestate.com/recipes/131499-observer-pattern/'''
0 0
- [DesignPattern]Observer Pattern (Python)
- Python实现的Observer Pattern
- Observer Pattern
- Observer pattern
- Observer Pattern
- Observer Pattern
- Observer Pattern
- Observer Pattern
- observer pattern
- Observer Pattern
- Observer pattern
- Observer Pattern
- Observer pattern
- Observer Pattern
- Observer Pattern
- Design Pattern --------Observer pattern
- [Design Pattern]Observer Pattern
- DesignPattern
- HBase导出CSV格式数据的方法
- 【LeetCode】Sort List
- 最短路径--Floyd算法
- 胖子伤不起
- 类成员变量和实例成员变量分别指什么有什么区别(举例说明)?
- [DesignPattern]Observer Pattern (Python)
- Win8 Java Jdk1.6 环境变量配置
- 黑马程序员 银行业务调度系统
- Android Adapter详解
- Poj 2002 Squares (正方形个数 Hash)
- httpd-vhosts.conf
- 软考报名【javascript Validation Framework运行错误】解决方法
- Keywords Search
- 兹孜纵子资座左驻滓琢爪祝宗撞紫驻ysvgsn