责任链模式
来源:互联网 发布:色戒 梁朝伟 知乎 编辑:程序博客网 时间:2024/06/07 01:35
说责任链之前,我们先来说责任。责任就是一件事情由谁处理,出了问题由谁负责。无论公司还是政府,都是层层管理的,上面不处理就交给下面。这就形成了一个责任链条, 现在的触屏设备的点击事件也是一样。一般都采用责任链模式,大控件不处理就转给小控件。代码如下:
public class ResponsibilityChain { public static abstract class Widget { // 持有后面的责任对象 protected Widget childWidget;// 示意处理请求的方法,可以传参 public abstract void onclick(); public Widget getChildWidget() { return childWidget; } public void setChildWidget(Widget childWidget) { this.childWidget = childWidget; } } //具体处理者角色 public static class ConcreteWidget extends Widget { // 事件处理方法 @Override public void onclick() { //判断后面是否有要责任对象,没有则处理,有则向后传 if (getChildWidget() != null) { System.out.println("放过请求"); getChildWidget().onclick(); } else { System.out.println("处理请求"); } } } public static void main(String[] args) { //组装责任链 Widget widget1 = new ConcreteWidget(); Widget widget2 = new ConcreteWidget(); widget1.setChildWidget(widget2); //事件产生 widget1.onclick(); }}
觉得容易理解的话面向对象的23种设计模式点这里
阅读全文
0 0
- 责任链模式
- 深入浅出责任链模式
- 责任链模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式(一)
- 责任链模式(二)
- 责任链模式(三)
- 责任链模式
- java责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- c++ 责任链模式
- java责任链模式
- 责任链模式
- jQuery插件开发模式(组件封装)
- 二叉树的深度
- http状态码
- Java绝对/相对路径获取与getResourceAsStream()方法
- 关于使用Java Mail发邮件的问题
- 责任链模式
- CentOS7安装Hive
- Linux基本概念及操作
- PC環境問題
- 微信公众平台接口 动态生成html图片预览无法使用jquery事件的解决方法
- easyui datebox控件button显示问题
- nginx反向代理和负载均衡
- java 批处理批量插入sql
- Python中yield的用法