迭代者模式

2023-01-02 00:27:06 字數 1317 閱讀 4087

迭代者模式:提供一種方法順序訪問乙個聚合物件中的各個元素,而不暴露該物件的內部表示。

結構:● aggregate(聚合,可用介面或抽象類):聚合定義建立相應迭代器物件的介面;

● concreate aggregate(具體聚合):實現建立相應迭代器的介面,該類中返回乙個concreteiterator;

● concreteiterator(具體迭代器):實現迭代器介面;

● iterator(迭代器介面):定義訪問和遍歷元素的介面。

例項:1.客戶端

public class test

"容器裡的物件個數: "+

iterator it =

while(

" ");

}}}//concreate aggregate(具體聚合):實現建立相應迭代器的介面

public class linklist implements collection else

tail=n;

size++;

}public int size()

@override

public iterator iterator()

//concreteiterator(具體迭代器):實現迭代器介面

private class linklistiterator implements iterator

@override

public object next()

}}public class node

public void setdate(object date)

public node getnext()

public void setnext(node next)

public node(object date, node next)

public string tostring()

}//aggregate(聚合,可用介面或抽象類):聚合定義建立相應迭代器物件的介面

public inte***ce collection

5. public inte***ce iterator

6. public class arraylist implements collection

objects[index] = o;

index++;

}public int size()

public iterator iterator()

private class arraylistiterator implements iterator

@override

public object next()}

迭代會議問題總結

問題2 會議時間無法控制。分析 其實這個問題是由問題1引起的,因為討論過多的技術問題,和細節的小bug,導致會議程序的緩慢。2 回顧 反思會 問題1 經過多次會議之後,我發現,有些人還是能發現我們iteration中存在的問題,但是提出問題後,他們不會主動去想解決方案,或者想了也想不出來。最糟糕的是...

迭代軟體開發流程

1.傳統開發流程的問題 傳統的軟體開發流程是乙個文件驅動的流程,它將整個軟體開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務 文件 後才能夠進入下乙個階段。如必須完成全部的系統需求規格說明書之後才能夠進入概要設計階段,編碼必需在系統設計完成之後才能夠進行。這就意味著只有當所有的系統...

架構設計 生產者消費者模式

0 概述 今天打算來介紹一下 生產者 消費者模式 這玩意兒在很多開發領域都能派上用場。由於該模式很重要,打算分幾個帖子來介紹。今天這個帖子先來掃盲一把。如果你對這個模式已經比較了解,請跳過本掃盲帖,直接看下乙個帖子 關於該模式的具體應用 看到這裡,可能有同學心中犯嘀咕了 在四人幫 gof 的23種模...