.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!

posted @ 2011-11-24 19:57  Lee's Blog  阅读(480)  评论(0编辑  收藏  举报