广东一点红六肖中特

[技术分享] php设计模式-迭代器模式

 作者:新投云  浏览数:

迭代器模式概念

在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素而又不暴露该对象的内部表示。

适用场景

访问一个聚合对象的内容而无需暴露它的内部表示
支持对聚合对象的多种遍历

为遍历不同的聚合结构提供一个统一的接口

迭代器模式实例

<?php
class ConcreteIterator implements Iterator{
	private $position = 0;
	private $arr;
	function __construct(array $arr){
		$this->arr = $arr;
	}

	function rewind(){
		$this->position = 0;
	}

	function current(){
		return $this->arr[$this->position];
	}

	function key(){
		return $this->position;
	}

	function next(){
		++$this->position;
	}

	function valid(){
		return isset($this->arr[$this->position]);
	}
}

$arr = array('xiao hong','xiao ming','xiaohua');
$concreteIterator = new ConcreteIterator($arr);
foreach ($concreteIterator as $key => $value) {
	echo $key."=>".$value."\n";
}

相关文章

广东一点红六肖中特