python设计模式(责任链模式)
来源:互联网 发布:sql server between 编辑:程序博客网 时间:2024/06/11 20:59
学习版本3.5.2
#学习版本3.5.2'''在责任链模式中,多个不同职能的对象连接起来形成一条链,请求在这个链上传递,直>到链接上有一个对象将请求处理完;发这个请求的客户端并不知道链上的哪一个对象最终处理了这个请求,这可以使得系统可以在不影响客户端的情况下动态的重新组织和分配责任'''#1到3类请求分别需要部门a到b来处理class Department(object): def __init__(self, id): self._nextdepartment = None self.cancompletetaskid = id def setNextDepartment(self, nextd): self._nextdepartment = nextd def getNextDepartment(self): return self._nextdepartment def completeTask(self, id): print("complete task", id) def getTask(self, id): if id == self.cancompletetaskid: self.completeTask(id) else: if self.getNextDepartment() == None: print("error, there are no such department.") else: self.getNextDepartment().getTask(id)if __name__ == "__main__": da = Department(1) db = Department(2) dc = Department(3) da.setNextDepartment(db) db.setNextDepartment(dc) da.getTask(1) da.getTask(2) da.getTask(3) da.getTask(4)
运行结果
complete task 1complete task 2complete task 3error, there are no such department.
阅读全文
0 0
- python设计模式之责任链模式
- 设计模式-责任链模式-chain-python
- python设计模式(责任链模式)
- python设计模式之责任链
- 责任链设计模式
- 责任链设计模式
- 设计模式---责任链
- 责任链设计模式
- 设计模式----责任链
- 设计模式-责任链
- 责任链设计模式
- 责任链设计模式
- 设计模式:责任链
- [设计]责任链模式
- 设计模式--责任链
- 责任链设计模式
- 设计模式----责任链模式
- 【设计模式】责任链模式
- android OrmLite 实际应用
- 粒子特效简单总结
- MySQL 的最佳索引攻略
- Linux 安装 Flume
- 插件化框架集成-360插件框架DroidPlug
- python设计模式(责任链模式)
- (七)链表----非循环单链表常用算法实现
- Windows 10 Cortana搜索栏变白色解决方案
- 【Oracle】删除表空间
- 用Scrapy爬取网站时总获取不到源代码的解决办法
- AI 分析 不用写代码 即可实现
- 2.2JPA对象关系映射
- cookie setSecure详解
- 快速在Linux中安装ftp服务器