博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
责任链模式
阅读量:5990 次
发布时间:2019-06-20

本文共 934 字,大约阅读时间需要 3 分钟。

  hot3.png

@FunctionalInterfacepublic interface Filter
{ T doFilter(T t);}

 

public class FilterChain
implements Filter
{ public List
> filterChain = new ArrayList
>(); public FilterChain
addFilter(Filter
filter){ filterChain.add(filter); return this; } @Override public T doFilter(T t) { T result = t; for(Filter
filter : filterChain){ result = filter.doFilter(t); } return result; }}

 

public abstract class AbstractProcessor
{ protected FilterChain
filterChain; protected T object; public AbstractProcessor(FilterChain
filterChain, T object){ this.filterChain = filterChain; this.object = object; } public abstract T process(); }

使用方式:

新建自己的filter继承Filter

把filter放入新建的filterChain中

新建自己的processor继承AbstractProcessor

通过构造方法加入filterChain 和需要处理的数据

 

 

转载于:https://my.oschina.net/zhu97/blog/1791862

你可能感兴趣的文章
CentOS5.5环境下布署LVS+keepalived
查看>>
构建Java并发模型框架
查看>>
为搜索框设置默认的搜索提示文字,聚焦时清空默认文字,失焦为空时设置默认文字...
查看>>
java程序题:输出101-200之间的素数
查看>>
在docker上搭建hadoop single node cluster
查看>>
使用Eclipse-Maven-git做Java开发(4)--关于eclipse的更详细介绍
查看>>
[转载] 大道至简:软件工程实践者的思想——第三章 团队缺乏的不只是管理
查看>>
java 面试核心内容
查看>>
Word和Excel中查找替换通配符使用方法详解
查看>>
java Swing组件开发使用
查看>>
卡牌游戏的基本市场分析
查看>>
[转载] C#面向对象设计模式纵横谈——15 Command命令模式
查看>>
Linuxu盘安装制作
查看>>
删除特殊字符命名的文件夹
查看>>
大数据存储和管理数据库系统
查看>>
我的友情链接
查看>>
windows下多个python版本共存,pip使用
查看>>
rhel7.4下实现ssh免密码合理合法
查看>>
Restlet - 基于Spring的Restlet开发实例
查看>>
Solaris - vi使用帮助
查看>>