.NET责任链(Chain)模式

目录

  1. 定义
  2. UML
  3. 参与者
  4. 示例

定义:

责任链模式是一种对象的行为模式。比如:来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。

UML:

参与者:

1、抽象处理者角色(Handler):

定义出一个处理请求的接口。

2、具体处理者角色(ConcreteHandler):

具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于处理者持有下家引用,因此,如果需要,具体处理者可以访问下家。

 

示例:

代码

Output

ConcreteHandler1 handled request 2
ConcreteHandler1 handled request 5
ConcreteHandler2 handled request 14
ConcreteHandler3 handled request 22
ConcreteHandler2 handled request 18
ConcreteHandler1 handled request 3
ConcreteHandler3 handled request 27
ConcreteHandler3 handled request 20

 

实际运用:

代码

Output

Director Larry approved request# 2034
President Tammy approved request# 2035
Request# 2036 requires an executive meeting!


作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/dingli/p/2262197.html