Iterator Pattern 迭代器模式

原创 2015年07月07日 10:05:36

Iterator Pattern: provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

It also places the task of traversal on the iterator object, not on the aggregate which simplifies the aggregate interface and implementation, and places the reponsibility where it should be.

Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示

迭代器可以遍历各种Collection。注意的是Hashtable是key和value,遍历value时用values.iterator(). 

实现Iterator接口:

public class IteratorTest implements Iterator{

	@Override
	public boolean hasNext() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public Object next() {
		// TODO Auto-generated method stub
		return null;
	}
}
定义Client:

public class Test {
	public void main(String[] args) {
		Iterator it = new IteratorTest();
		while(it.hasNext()) {
			// do something
		}
	}
}
Design Principle:

Single Responsibility: A class should have only one reason to change.

Every responsibility of a class is an area of potential change. More than one responsibility means more than one area of change.
应用:对Array, ArrayList, Hashtable等采用同样的接口遍历。


版权声明:本文为博主原创文章,未经博主允许不得转载。

设计模式(行为型)之迭代器模式(Iterator Pattern)

在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“ 同一种算法在多种集合对象上...
  • yanbober
  • yanbober
  • 2015年05月05日 09:25
  • 2777

迭代器模式-Iterator Pattern

基本概念 迭代器模式,提供一种方法以便顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。迭代器为遍历聚集结构提供了如开始、下一个、是否结束、当前项等统一接口。 结构图 上...
  • u014738140
  • u014738140
  • 2015年08月17日 16:38
  • 443

Java Iterator Pattern(迭代器模式)

Java Iterator Pattern(迭代器模式) 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不...
  • mazaiting
  • mazaiting
  • 2017年09月29日 01:07
  • 30

设计模式-迭代器模式(iterator pattern)

名称:迭代器模式 说说: 动机: 适用性: 参与者: 结果:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示 类图: 说明: demo c#: na...
  • itol925
  • itol925
  • 2015年03月27日 17:30
  • 291

迭代器模式【Iterator Pattern】

周五下午,我正在看技术网站,第六感官发觉有人在身后,扭头一看,我 C,老大站在背后,赶忙站起来,“王经理,你找我?” 我说。“哦,在看技术呀。有个事情找你谈一下,你到我办公室来一下。” 老大说。到老大...
  • admin1973
  • admin1973
  • 2017年05月27日 16:24
  • 225

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

模板方法:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤。模式方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实...
  • MidnightIII
  • MidnightIII
  • 2011年03月21日 23:14
  • 203

迭代器模式(Iterator Pattern)

迭代器模式(Iterator Pattern) 概述在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集...
  • pizi0475
  • pizi0475
  • 2009年06月04日 16:58
  • 664

设计模式【迭代器模式Iterator Pattern】

迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代...
  • qiaoquan3
  • qiaoquan3
  • 2017年10月19日 20:31
  • 46

设计模式 —— 迭代器模式(Iterator Pattern)

迭代器模式(Iterator Pattern)概念: 定义:迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式是一种简单常见的设计模式,在我们使用编程...
  • wwh578867817
  • wwh578867817
  • 2016年05月30日 23:06
  • 398

迭代器模式iterator pattern

提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。the iterator pattern is a design pattern in which an i...
  • haimian520
  • haimian520
  • 2016年10月31日 22:30
  • 170
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Iterator Pattern 迭代器模式
举报原因:
原因补充:

(最多只允许输入30个字)