溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

web迭代器模式由什么部分組成

發(fā)布時(shí)間:2022-01-13 16:40:07 來(lái)源:億速云 閱讀:122 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細(xì)介紹“web迭代器模式由什么部分組成”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“web迭代器模式由什么部分組成”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

適用性

為訪問不同構(gòu)成的聚合對(duì)象提供統(tǒng)一的方法。

支持以統(tǒng)一的方法實(shí)現(xiàn)不同形式的遍歷。

歸納成一句話,就是使用迭代器模式可以以一種方式對(duì)不同構(gòu)成的對(duì)象實(shí)現(xiàn)不同種類的遍歷。

結(jié)構(gòu)

web迭代器模式由什么部分組成

參與者


? Iterator(抽象迭代器類)
— 抽象迭代器定義取得和遍歷元素所需要的接口。類圖中定義的接口只是一個(gè)示例。在實(shí)際的應(yīng)用中,也可以有其他選擇。例如可以讓next方法除了移動(dòng)當(dāng)前位置之外還可以返回子元素,這樣就可以省去IsDone接口。

? ConcreteIterator(具象迭代器類)

— 具象迭代器實(shí)現(xiàn)迭代器接口。在具體實(shí)現(xiàn)迭代器接口的時(shí)候,可能需要直接訪問聚合類的數(shù)據(jù),也可能是通過其他訪問該聚合類的迭代器間接訪問聚合類對(duì)象。

? Aggregate(聚合類)

— 聚合定義創(chuàng)建相應(yīng)迭代器對(duì)象的接口。這個(gè)接口的用法,相當(dāng)于工廠方法模式。也就是說這個(gè)聚合類還應(yīng)該具有其他的功能。

? ConcreteAggregate(具象聚合類)
— 具象聚合類實(shí)現(xiàn)創(chuàng)建相應(yīng)迭代器的接口,該操作返回ConcreteIterator的具體實(shí)例。

很多時(shí)候,抽象聚合類和具象聚合類之間會(huì)產(chǎn)生這種繼承關(guān)系,并不是因?yàn)樾枰@種生成迭代器動(dòng)作的抽象,而是由于這兩個(gè)類本身的功能需求。生成迭代器只是軟件開發(fā)上的需求,并不是類的本質(zhì)特征。也有很多情況根本就不需要這種繼承關(guān)系。

協(xié)作


? ConcreteIterator取得聚合中的當(dāng)前子元素,并能夠找到出待遍歷的后繼對(duì)象。

讀到這里,這篇“web迭代器模式由什么部分組成”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI