PHP设计模式之迭代器模式

        在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素而又不暴露该对象的内部表示,这就是PHP迭代器模式的定义。

PHP设计模式之迭代器模式_第1张图片
书中自有颜如玉,书中自有黄金屋

适用场景:

        访问一个聚合对象的内容而无需暴露它的内部表示

        支持对聚合对象的多种遍历

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

PHP设计模式之迭代器模式_第2张图片
书中自有颜如玉,书中自有黄金屋

迭代器模式实例:

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";

}

PHP设计模式之迭代器模式_第3张图片
书中自有颜如玉,书中自有黄金屋

        图片与文章无关,在阅读技术文档的时候欣赏一下美女也是一个不错的选择,希望可以对你有帮助,如果有错误的地方欢迎指正。

你可能感兴趣的:(PHP设计模式之迭代器模式)