迭代器模式

2021-10-09 12:35:31 字數 850 閱讀 3971

<?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...