专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程思想 » 迭代器模式:解读设计模式----迭代器模式(Iterator Pattern) »正文

迭代器模式:解读设计模式----迭代器模式(Iterator Pattern)

来源: 发布时间:星期五, 2009年1月9日 浏览:2次 评论:0
  、你在开发中使用过迭代吗?

  当你在使用JavaScript开发客户端应用时候使用过for...in吗?

1<script type="text/javascript">
2var obj;
3useForIn = function
4{
5  obj = (0,1,2,3,4,5,6,7,8,9);
6  for(var o in obj)
7  {
8   document.write(o);
9  }
10}
11</script>


  当你在.NET Frameworks上使用C#,VB.NET,J#等语言开发应用时候使用过foreach....in吗?

1 Program
2{
3   void Main( args)
4  {
5    List<> list = List<>;
6    //--------化集合-----------
7    for ( i = 0; i < 10; i)
8    {
9      list.Add(i);
10    }
11    //-------遍历集合--------------
12    foreach ( i in list)
13    {
14      Console.WriteLine(i);
15    }
16  }
17}


  如果你是位Java发烧者,你在遍历集合时候是使用什么方式呢?是Iterator?还是for?

1import java.util.*;
2public UseForIn {
3  public void (String args) {
4    List<String> list = ArrayList<String>;
5    for ( i = 0; i < 10; i) {
6      list.add("String:" + i);
7    }
8    //--------------使用Iterator遍历集合---------------
9    Iterator it = list.iterator;
10    while(it.hasNext){
11      .out.prln(it.next);
12    }
13    //------使用for.in(JDK 1.5以更高版本才能支持)-----
14    
15    for (String s : list ){
16      .out.prln(s);
17    }
18  }
19}


   2、解说迭代模式

  我们先来看看迭代器模式UML图(下图来至http://www.dofactory.com/)

  

   5、整理总结迭代高手

  从上面几个举例中就可以看出尽管我们没有显示引用迭代器但实质还是通过迭代器来遍历总地来说迭代器模式就是分离了集合对象迭代行为抽象出个迭代器类来负责这样既可做到不暴露集合内部结构又可以让外部代码可以透明访问集合内部元素

  迭代器模式在访问、集合、列表等数据时尤其是数据库数据操作时是非常普遍应用但由于它太普遍了所以各种高级语言都对他进行了封装所以反而给人感觉此模式本身不太常用了

  看来现实生活中售票员就是位了不起迭代高手每次乘客上下车他都会数数进行统计然后根据他自己迭代方式去遍历车内乘客进行售票不会放过任何逃票的客

  任何行业都有窍门技巧和经验需要多研究、多琢磨才能做到最好

  编程又何尝不是这样没有最好只有更好我们都需要努力



相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: