Java设计模式首页投稿(暂停使用,暂停投稿)程序员

设计模式-迭代器模式

2017-10-15  本文已影响0人  东西的南北

介绍

迭代器模式在我们日常编程中使用非常频繁,像list、map、数组等都会用到迭代器模式。迭代器模式属于行为型模式,它用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。

结构图

这里写图片描述

在迭代器模式结构图中包含如下几个角色:

优点

  1. 它支持以不同的方式遍历一个聚合对象。
  2. 迭代器简化了聚合类。
  3. 在同一个聚合上可以有多个遍历。
  4. 在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。

缺点

由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性。

总结

有兴趣的同学可以看看list、map的源码,看看iterator的实现。在迭代器模式中,提供了一个外部的迭代器来对聚合对象进行访问和遍历,迭代器定义了一个访问该聚合元素的接口,并且可以跟踪当前遍历的元素,了解哪些元素已经遍历过而哪些没有。迭代器的引入,将使得对一个复杂聚合对象的操作变得简单。

上一篇 下一篇

猜你喜欢

热点阅读