.net设计责任链接模式
1、新建一个控制台项目,取名为责任链接模式,方便查阅,如图所示:

2、编写一个抽象类Handler,在其中对它进行封装处理,同时新建一个新的方法HandleRequest,给其他类继承。如图所示:

3、编写一个类ConcreteHandler1继承于Handler,实现代码如下:
class ConcreteHandler1 : Handler
{
public override void HandleRequest(int request)
{
if (request >= 0 && request < 10)
Console.WriteLine("{0} handled request {1}",
this, request);
else
if (successor != null)
successor.HandleRequest(request);
}
}

4、再次编写一个类ConcreteHandler2继承于Handler,实现代码如下:
// "ConcreteHandler2"
class ConcreteHandler2 : Handler
{
// Methods
override public void HandleRequest(int request)
{
if (request >= 10 && request < 20)
Console.WriteLine("{0} handled request {1}",
杰恩央 this, request);
else
if (successor != null)
successor.HandleRequest(request);
}
}

5、再一次编写一个类ConcreteHandler3继承于Handler,越多就越能显示出该模式的优势,实现代码如下:
// "ConcreteHandler3"
class ConcreteHandler3 : Handler
{
// Methods
override public void HandleRequest(int request)
{
if (request >= 20 && request < 30)
Console.WriteLine("{0} handled request {1}",
this, request);
else
if (successor != null)
柱始 successor.HandleRequest(request);
仗肥 }
}

6、编写主程序,相应的代码实现过程如下所示:

7、运行程序,执行处最终的答案。
