您的位置:首页 > 编程语言 > Python开发

Python 责任链模式实现

2018-02-26 14:15 155 查看
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 26 11:45:46 2018

@author: mz
"""

class Handler(object):
def __init__(self):
self.handler = None

def Handle(self):
pass

def NextHandler(self, rhs):
self.handler = rhs

class Boss(Handler):
def Handle(self):
print("Boss handle")
if self.handler is not None:
self.handler.Handle()

class Derector(Handler):
def Handle(self):
print("Derector handle ->")
if self.handler is not None:
self.handler.Handle()

class Manager(Handler):
def Handle(self):
print("Manager handle ->")
if self.handler is not None:
self.handler.Handle()

class Employee(Handler):
def Handle(self):
print("Employee handle a request->")
if self.handler is not None:
self.handler.Handle()

if "__main__" == __name__:
employee = Employee()
manager = Manager()

employee.NextHandler(manager)

derector = Derector()
manager.NextHandler(derector)

boss = Boss()
derector.NextHandler(boss)

employee.Handle()
可以看到,设定职责链路后,一旦员工提交申请,业务就会按照流程进行。运行结果如下:Employee handle a request->
Manager handle ->
Derector handle ->
Boss handle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: