RSS订阅欢迎来到Java程序员学习天地!
你的位置:首页 » Java开发中的23种模式(四)

Java开发中的23种模式(四)

测试类:

[java] view plaincopy

  1. public class Test {  

  2.   

  3.     public static void main(String[] args) {  

  4.         Collection collection = new MyCollection();  

  5.         Iterator it = collection.iterator();  

  6.           

  7.         while(it.hasNext()){  

  8.             System.out.println(it.next());  

  9.         }  

  10.     }  

  11. }  

输出:A B C D E

此处我们貌似模拟了一个集合类的过程,感觉是不是很爽?其实JDK中各个类也都是这些基本的东西,加一些设计模式,再加一些优化放到一起的,只要我们把这些东西学会了,掌握好了,我们也可以写出自己的集合类,甚至框架!

17、责任链模式(Chain of Responsibility)
接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图:

 

 

Abstracthandler类提供了get和set方法,方便MyHandle类设置和修改引用对象,MyHandle类是核心,实例化后生成一系列相互持有的对象,构成一条链。

[java] view plaincopy

  1. public interface Handler {  

  2.     public void operator();  

  3. }  

[java] view plaincopy

  1. public abstract class AbstractHandler {  

  2.       

  3.     private Handler handler;  

  4.   

  5.     public Handler getHandler() {  

  6.         return handler;  

  7.     }  

  8.   

  9.     public void setHandler(Handler handler) {  

  10.         this.handler = handler;  

  11.     }  

  12.       

  13. }  

[java] view plaincopy

  1. public class MyHandler extends AbstractHandler implements Handler {  

  2.   

  3.     private String name;  

  4.   

  5.     public MyHandler(String name) {  

  6.         this.name = name;  

  7.     }  

  8.   

  9.     @Override  

  10.     public void operator() {  

  11.         System.out.println(name+"deal!");  

  12.         if(getHandler()!=null){  

  13.             getHandler().operator();  

  14.         }  

  15.     }  

  16. }  

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

控制面板
您好,欢迎到访网站!
随机文章
热门文章
热评文章
最近发表