.net设计责任链接模式

2025-10-04 21:58:58

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

.net设计责任链接模式

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

.net设计责任链接模式

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);

        }

    }

.net设计责任链接模式

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);

        }

    }

.net设计责任链接模式

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);

 仗肥       }

    }

.net设计责任链接模式

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

.net设计责任链接模式

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

.net设计责任链接模式

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢