模型
输入:Request
处理:Handler =>Handler => Handler的Chain
目的:输入和处理解耦
客户: 只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递。
链: 1.链上的处理,某一节点可以处理完退出,不往下传递
2.可以多个链拼接
3.可以增加删除节点,扩展方便
实例
Key(input event) 的处理
按键或其他Input Event 在接受到之后会一层层向上传递,直到可以处理
InputStage syntheticStage = new SyntheticInputStage();
InputStage viewPostImeStage = new ViewPostImeInputStage(syntheticStage);
InputStage nativePostImeStage = new NativePostImeInputStage(viewPostImeStage,
"aq:native-post-ime:" + counterSuffix);
InputStage earlyPostImeStage = new EarlyPostImeInputStage(nativePostImeStage);
InputStage imeStage = new ImeInputStage(earlyPostImeStage,
"aq:ime:" + counterSuffix);
InputStage viewPreImeStage = new ViewPreImeInputStage(imeStage);
InputStage nativePreImeStage = new NativePreImeInputStage(viewPreImeStage,
"aq:native-pre-ime:" + counterSuffix);
mFirstInputStage = nativePreImeStage;
mFirstPostImeInputStage = earlyPostImeStage;
servlet 中过滤器Filter
实现一个Filter, FilterChain
public void doFilter(ServletRequest request, ServletResponse response)
网友评论