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--迭代器设计模式

1. What is? 关于迭代器设计模式下面的解释如果看不下去可以看这个链接,以及这个。 设计意图: 1). 提供一种顺序访问一组对象而不用暴露其潜在实现的机制。 2). C++和java标准...

迭代器模式(Iterator Pattern)

说到迭代器,我们应该是很熟悉的,不管你是写过C++代码还是写过IOS代码,你都应该有用过迭代器,比如C++的vector、list等STL对象都提供了迭代器以供程序代码可以更为方便地遍历集合元素。 迭...

JS-Javascript 迭代器设计模式 Iterator pattern

这篇博文简短的提一下Iterator的设计模式,以及这种设计模式给我们带来什么样的好处。1.begin为了体现面向对象的特性(近年来的ES6为这方面做了很大的努力),此篇博文的语言编写基于typesc...

迭代器模式-Iterator Pattern

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

遍历聚合对象中的元素——迭代器模式(Iterator Pattern)

一、引言 在上篇博文中分享了我对命令模式的理解,命令模式主要是把行为进行抽象成命令,使得请求者的行为和接受者的行为形成低耦合。在一章中,将介绍一下迭代器模式。下面废话不多说了,直接进入本博文的主题。...

迭代器模式【Iterator Pattern】

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

第17章 迭代器模式(Iterator Pattern)

概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据...

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

场景一 描述:周五下午,我正在看技术网站,第六感官发觉有人在身后,扭头一看,我C,老大站在背后,赶忙站起来, “王经理,你找我?” 我说。 “哦,在看技术呀。有个事情找你谈一下,你到我办公室来一下。”...

您的设计模式——迭代器模式【Iterator Pattern】

周五下午,我正在看技术网站,第六感官发觉有人在身后,扭头一看,我 C,老大站在背后,赶忙站起来, “王经理,你找我?” 我说。“哦,在看技术呀。有个事情找你谈一下,你到我办公室来一下。” 老大说。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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