.net设计责任链接模式
1、新建一个控制台项目,取名为责任链接模式,方便查阅,如图所示:
2、编写一个抽象类Handler,在其中对它进行封装处理,同时新建一个新的方法HandleRequest,给其他类继承。如图所示:
3、编写一个类ConcreteHandler1继承于Handler,实现代码如下:罕铞泱殳class Concret髫潋啜缅eHandler1 : 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、运行程序,执行处最终的答案。