zoukankan      html  css  js  c++  java
  • 责任链模式

    责任链模式让处理请求的对象形成一条链,链中总有一个对象来处理请求。

    代码如下:

    先写处理对象:

    public abstract class Hander {
        public Hander next;
        public void setHander(Hander next)
        {
            this.next=next;
        }
        public abstract void work(int request);
    }

    再写具体实现:

    public class HanderA extends Hander {
        public void work(int request) {
            if(request<10)
            {
                System.out.println("HanderA works.");
            }
            else
            {
                next.work(request);
            }
        }
    }
    public class HanderB extends Hander{
        public void work(int request) {
            if(request<20)
            {
                System.out.println("HanderB works.");
            }
            else
            {
                next.work(request);
            }
        }
    }
    public class HanderC extends Hander{
        public void work(int request) {
            System.out.println("HanderC works.");
        }
    }

    最后测试,让三个实现形成链:

    public class test {
        public static void main(String[] args)
        {
            Hander a=new HanderA();
            Hander b=new HanderB();
            Hander c=new HanderC();
            a.setHander(b);
            b.setHander(c);
            for(int i=0;i<30;i++)
            {
                a.work(i);
            }
        }
    }

    比如一个大于二十的数,就会经过HanderA,HanderB,最后在HanderC进行处理。

  • 相关阅读:
    if语句
    操作列表
    列表
    数据类型(不全)
    windows安装mysql
    hadr启动报错码
    db2主备hadr部署
    java--遍历字符个数
    java--装饰类
    java--继承&接口
  • 原文地址:https://www.cnblogs.com/blogofjzq/p/9473787.html
Copyright © 2011-2022 走看看