<?php
/** * 江湖人稱迭代器模式
* 迭代器模式將遍歷和資料分開,遍歷不需要了解細節(你是陣列呢,還是鍊錶呢)
* 由於不需要了解細節,可以為不同的資料結構提供相同的遍歷介面
* 可以為同一結構提供不同的遍歷,列如逆序
* class product
*/abstract class product
public function add($value)
public function getobject()
//迭代
public abstract function createiteration();
}inte***ce iteration
class productiteration implements iteration
public function islast()
public function isfirst()
public function next()
public function first()
}class productlist extends product
}class factory
}$product = factory::build();
$product->add('你的才華配不上你的野心');
$iteration = $product->createiteration();
//正序
while(!$iteration->islast())
//逆序
while(!$iteration->isfirst())
迭代器模式
迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而不是暴露該物件的內部表示。乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,你就應該考慮用迭代器模式。你需要對聚集有多種方式遍歷時,可以考慮用迭代器模式。為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等統一...
迭代器模式
我最早接觸的設計模式就是迭代器模式了哈 為什麼要有迭代器模式呢?看下下面的 就知道了哈 對於乙個陣列物件sz 我們要怎麼遍歷呢?public void bianlisz class geweishu public myiterator getiterator private class geweis...
迭代器模式
迭代器模式 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件多的內部表示。1 iterator抽象類 public abstract class iterator 2 aggregate聚集抽象類 public abstract class aggregate 3 concreteite...