迭代器模式
1 這個模式確實很常見,需要熟悉,C#裏面經常會看到相關的結構。一個迭代結構 Iterator,Iterator裏面有moveNext()的方法。一個包含迭代結構的類,該類自己存儲要遍歷迭代的數據,在自己內部實現Iterator的繼承結構,並且有一個返回該繼承Iterator類實例的方法 GetIterator()。
public interface Iterator
{
object Next();
bool HasNext();
}
public class JayChou : Iterator
{
public List<string> cards = new List<string>() { "BMW" ,"Benz","Lexus"};
public int index = -1;
public Iterator GetIterator()
{
return this;
}
public bool HasNext()
{
if (index < cards.Count && cards.Count != 0)
{
return true;
}
return false;
}
public object Next()
{
index++;
return cards[index];
}
}