你的位置:首页 > 软件开发 > ASP.net > 设计模式学习笔记之迭代器模式

设计模式学习笔记之迭代器模式

发布时间:2016-05-20 16:00:05
迭代器模式 提供一种方法顺序访问一个聚合对象中的各个对象,而不暴露其内部的表示。 把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。 角色: 容器角色:负责提供创建具体迭代 ...

设计模式学习笔记之迭代器模式

迭代器模式    角色:

     优点:

     1、简化了遍历方式,对于对象集合的遍历,还是比较麻烦的,对于数组或者有序列表,我们尚可以通过游标来取得,但用户需要在对集合了解很清楚的前提下,自行遍历对象,但是对于hash表来说,用户遍历起来就比较麻烦了。而引入了迭代器方法后,用户用起来就简单的多了。

     缺点:

     1、对于比较简单的遍历(像数组或者有序列表),使用迭代器方式遍历较为繁琐,大家可能都有感觉,像ArrayList,我们宁可愿意使用for循环和get方法来遍历集合。

     场景:

     迭代器模式是与集合共生共死的,一般来说,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Collection,List、Set、Map等,这些集合都有自己的迭代器。假如我们要实现一个这样的新的容器,当然也需要引入迭代器模式,给我们的容器实现一个迭代器。

     但是,由于容器与迭代器的关系太密切了,所以大多数语言在实现容器的时候都给提供了迭代器,并且这些语言提供的容器和迭代器在绝大多数情况下就可以满足我们的需要,所以现在需要我们自己去实践迭代器模式的场景还是比较少见的,我们只需要使用语言中已有的容器和迭代器就可以了。

设计模式学习笔记之迭代器模式
/**
/**
/**
/**
public class Waitress {
public class Client {

原标题:设计模式学习笔记之迭代器模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。