java设计模式之八
来源:互联网 发布:汤灿到底怎么了知乎 编辑:程序博客网 时间:2024/06/01 17:51
责任链模式:有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。
Abstracthandler类提供了get和set方法,方便MyHandle类设置和修改引用对象,MyHandle类是核心,实例化后生成一系列相互持有的对象,构成一条链。
[java] view plaincopy
- public interface Handler {
- public void operator();
- }
[java] view plaincopy
- public abstract class AbstractHandler {
- private Handler handler;
- public Handler getHandler() {
- return handler;
- }
- public void setHandler(Handler handler) {
- this.handler = handler;
- }
- }
[java] view plaincopy
- public class MyHandler extends AbstractHandler implements Handler {
- private String name;
- public MyHandler(String name) {
- this.name = name;
- }
- @Override
- public void operator() {
- System.out.println(name+"deal!");
- if(getHandler()!=null){
- getHandler().operator();
- }
- }
- }
[java] view plaincopy
- public class Test {
- public static void main(String[] args) {
- MyHandler h1 = new MyHandler("h1");
- MyHandler h2 = new MyHandler("h2");
- MyHandler h3 = new MyHandler("h3");
- h1.setHandler(h2);
- h2.setHandler(h3);
- h1.operator();
- }
- }
输出:
h1deal!
h2deal!
h3deal!
0 0
- java设计模式之八
- java 设计模式之八-创建者模式
- JAVA设计模式八之外观模式
- Java设计模式之八:命令模式
- java设计模式之八:观察者模式
- Java设计模式之八(装饰模式)
- (八)Java设计模式之合成模式
- 乱砍设计模式之八
- 【设计模式】之八Iterator
- Java设计模式(八)
- 乱砍设计模式之八 -- BRIDGE模式
- 设计模式之八 工厂方法模式
- 八 设计模式之中介者模式
- 设计模式之八、外观模式Facade
- 设计模式之(八)组合模式Composite
- 设计模式之八 --- 装饰模式(Decorator)
- 设计模式之八 --- 装饰模式(Decorator)
- 设计模式之八(原型模式)
- 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)
- iOS多线程的初步研究(八)-- dispatch队列
- Android ContentProvider学习
- TestNG创建测试类
- Lazyload 懒加载
- java设计模式之八
- css命名规范
- Android Studio Jni
- Python学习笔记5(函数)
- JVM垃圾收集器
- ] Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- 学习笔记之——新浪微博第三方登录分享接口
- 内存管理、分段、分页
- 【SQL】修改表数据