迭代器模式

  • 说明
  • 迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。
  • 功能
  • 迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素
  • 相比于传统的编程模式,迭代器模式可以隐藏遍历元素的所需的操作。
  • 使用场景
  • 访问一个聚合对象的内容而无需暴露它的内部表示
  • 支持对聚合对象的多种遍历
  • 为遍历不同的聚合结构提供一个统一的接口
  • 核心代码

    <?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";
    }
    
文章目录