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

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

[java] view plaincopy

  1. public class MySubject extends AbstractSubject {  

  2.   

  3.     @Override  

  4.     public void operation() {  

  5.         System.out.println("update self!");  

  6.         notifyObservers();  

  7.     }  

  8.   

  9. }  


测试类:

[java] view plaincopy

  1. public class ObserverTest {  

  2.   

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

  4.         Subject sub = new MySubject();  

  5.         sub.add(new Observer1());  

  6.         sub.add(new Observer2());  

  7.           

  8.         sub.operation();  

  9.     }  

  10.   

  11. }  

输出:

update self!
observer1 has received!
observer2 has received!

 这些东西,其实不难,只是有些抽象,不太容易整体理解,建议读者:根据关系图,新建项目,自己写代码(或者参考我的代码),按照总体思路走一遍,这样才能体会它的思想,理解起来容易! 

16、迭代子模式(Iterator)

顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:

 

这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作,且持有Collection实例,我们来看看实现代码:

两个接口:

[java] view plaincopy

  1. public interface Collection {  

  2.       

  3.     public Iterator iterator();  

  4.       

  5.     /*取得集合元素*/  

  6.     public Object get(int i);  

  7.       

  8.     /*取得集合大小*/  

  9.     public int size();  

  10. }  

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

发表评论

必填

选填

选填

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

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