zoukankan      html  css  js  c++  java
  • 设计模式开始--职责链模式

    职责链的模式

    一、作用

    多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将对象连成一条链,并沿着这条链传递该请求,直到有一个对象可以处理它

    二、类图

    三、实现

    (1)定义Handle

    public abstract class Handle {
        protected Handle successor;
        public void setSeccessor(Handle successor)
        {
            this.successor = successor;
        }
        public abstract void handleRequest(int request);
    }
    public class ConcreteHandleOne extends Handle {
        @Override
        public void handleRequest(int request) {
            if(request >= 0 && request < 10)
            {
                System.out.println("One 处理请求"+request);
            }
            else if(successor != null)
            {
                successor.handleRequest(request);
            }
        }
    }
    public class ConcreteHandleTwo extends Handle {
        @Override
        public void handleRequest(int request) {
            if(request >= 10 && request < 20)
            {
                System.out.println("Two 处理请求"+request);
            }
            else if(successor != null)
            {
                successor.handleRequest(request);
            }
        }
    }
    public class ConcreteHandleThree extends Handle {
        @Override
        public void handleRequest(int request) {
            if(request > 20) 
            {
                System.out.println("Three 处理请求"+request);
            }
            else if(successor != null)
            {
                successor.handleRequest(request);
            }
        }
    }
    View Code

    (2)Client测试类

    public class Client {
        public static void main(String[] args) {
            Handle h1 = new ConcreteHandleOne();
            Handle h2 = new ConcreteHandleTwo();
            Handle h3 = new ConcreteHandleThree();
            h1.successor = h2;
            h2.successor = h3;
            int request = 14;
            h1.handleRequest(request);
        }
    }
    View Code
  • 相关阅读:
    Nodejs读取文件时相对路径的正确写法(使用fs模块)
    node 读取多个文件、合并多个文件、读写多个文件
    js中typeof用法详细介绍
    express源码分析之Router
    14 Django的用户认证组件
    13-1 jquery操作cookie
    13 Django组件- cookie与session
    12 Django组件-form组件
    11 Django组件-分页器
    10 Django与Ajax
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4388517.html
Copyright © 2011-2022 走看看