• 2018/2/25 责任链以及使用递归实现反向过滤


    其实责任链应该分为两种,一种是管道模式(Pipeline),另一种则是过滤链模式;

    这次的话就创建一个过滤字符串的过滤链吧。

    首先创建一个接口,抽取出一个通用方法。

    创建两个具体实现过滤功能的实现类

    再创建一个用来保存过滤链,并能依次执行过滤器的类

    OK,但此时还没有一个保存具体要过滤事物以及启动过滤链的类,我们来创建一个

    ThreadLocal是为了防止线程并发出现覆盖问题;

    执行完毕,其实完全可以将ThreadLocal也放进执行过滤器的类,之所以单独创建一个类,是为了我们在过滤链中可以插入一个完整的过滤链。

    比如这样

    最后,利用递归玩点高难度的,也就是Tomcat里过滤器那样,先顺着走一遍过滤链,再反着走一遍

    改造下通用接口类

    再改造执行过滤器的类

    BINGO!

  • 相关阅读:
    linux防火墙iptables
    etc/fstab
    EDT改成CST
    echo
    dd
    chown
    CAT
    Linux grep
    CHECKSUM比较两表字段值差异
    通过GitHub部署项目到Nginx服务器
  • 原文地址:https://www.cnblogs.com/yangfeiORfeiyang/p/8470689.html
Copyright © 2020-2023  润新知