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('de ma','de xi','de lai'); $concreteIterator = new ConcreteIterator($arr); foreach ($concreteIterator as $key => $value) { echo $key."=>".$value."\n"; }
文章目录