python设计模式(责任链模式)
2017-11-06 16:34
375 查看
学习版本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 1
complete task 2
complete task 3
error, there are no such department.
相关文章推荐
- 设计模式-责任链模式-chain-python
- python设计模式之责任链模式
- Python的行为设计模式之责任链模式
- python设计模式-责任链模式
- python_设计模式——责任链模式
- Python设计模式——责任链模式
- 设计模式 笔记 责任链模式 chain of responsibility
- 【设计模式】责任链模式
- 设计模式之责任链模式
- JAVA啊设计模式之责任链模式
- 设计模式-装饰模式-decorator-python
- python设计模式之组合模式
- 设计模式学习之责任链模式(Chain of Responsibility,行为型模式)(22)
- python设计模式之状态模式
- 设计模式 -- 责任链模式或者叫职责链模式(Chain of Responsibility(CoR))
- 设计模式十(适配器模式,python语言实现)
- Selenium+Python :WebDriver设计模式( Page Object )
- Python 设计模式 -- 简单工厂模式
- python 设计模式之中介模式
- 设计模式十七(状态模式,python语言实现)