//乙個迭代器的實現,必須繼承 spl 中的迭代器介面 \iterator
class
alluser
implements \iterator
//對於乙個迭代器來說,有5個方法必須實現
//重置整個迭代器,回到整個集合的開頭
public
function
rewind
()
//驗證當前是否還有下乙個元素
public
function
valid
()
//獲取當前元素
public
function
current
()
//下乙個元素
public
function
next
()
//表示在迭代器中的位置
public
function
key()
}factory.php
<?php
namespace
imooc;
class
factory
public
static
function
getuser
($id)
return
$user;
}static
function
getdatabase
()
}
11 迭代器模式
利用相同介面可以遍歷不同集合 聚集 且不暴露集合內部的元素。書中的例子 a餐廳和b餐廳合併,他們的選單擁有不同的儲存方法,如a餐廳用陣列array,而b餐廳用list。這樣帶來的問題是在列印選單項的時候需要分別遍歷他們各種的選單,這樣處理不僅麻煩,而且不利於擴充套件,當有更多的餐廳被合併的時候,會帶...
迭代器模式
迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而不是暴露該物件的內部表示。乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,你就應該考慮用迭代器模式。你需要對聚集有多種方式遍歷時,可以考慮用迭代器模式。為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等統一...
迭代器模式
我最早接觸的設計模式就是迭代器模式了哈 為什麼要有迭代器模式呢?看下下面的 就知道了哈 對於乙個陣列物件sz 我們要怎麼遍歷呢?public void bianlisz class geweishu public myiterator getiterator private class geweis...