設計模式之一(Iterator模式)

2021-08-22 14:44:19 字數 1630 閱讀 6977

表 1-1 類和介面的一覽表

名字說明

aggregate

表示集合的介面

iterator

遍歷集合的介面

book

表示書的類

bookshelf

表示書架的類

bookshelfiterator

遍歷書架的類

main

測試程式行為的類

/**

* aggregate介面

*/public

inte***ce

aggregate

/**

* iterator介面

*/public

inte***ce

iterator

/**

* book類

*/public

class

book

public

book

(string name)

public string getname()

}

/**

* bookshelf類

*/public

class

bookshelf

implements

aggregate

public book getbookat

(int index)

public

void

(book book)

public

intgetlength()

public iterator iterator()

}

/**

* bookshelfiterator類

*/public

class

bookshelfiterator

implements

iterator

public

boolean

hasnext()

public object next()

}

/**

* main類

*/public

class

main類

}}

為什麼要引入ierator這種設計模式?因為引入了iterator後可以將遍歷與實現分離開來。看遍歷的**:

while

(iterator.

hasnext()

)

這裡只使用了iterator的hasnext方法和next方法,並沒有呼叫bookshelf方法。也就是說,這裡的while迴圈不依賴於bookshelf的實現。

如果編寫bookshelf的開發人員決定放棄用陣列來管理文字,而是用其他的容器類,那麼只需要bookshelf的iterator方法能正確地返回iterator例項,我們不需要更改在業務中的while迴圈迭代遍歷的**,**都可以正常工作。

JAVA設計模式 Iterator迭代器模式

迭代器模式 類似於for迴圈式的 段在日常開發過程中是很經常用到的,所有有了iterator模式。既然簡單的for迴圈能實現,為什麼要引入迭代器模式呢?因為iterator可以跟實現分開,單獨進行遞增。後面會詳細分析。下面通過乙個例子來看一下迭代器模式的使用。例子是乙個書架,可以往書架上放書本。為了...

JAVA設計模式 Iterator迭代器模式

迭代器模式 類似於for迴圈式的 段在日常開發過程中是很經常用到的,所有有了iterator模式。既然簡單的for迴圈能實現,為什麼要引入迭代器模式呢?因為iterator可以跟實現分開,單獨進行遞增。後面會詳細分析。下面通過乙個例子來看一下迭代器模式的使用。例子是乙個書架,可以往書架上放書本。為了...

設計模式學習筆記 迭代器 Iterator 模式

設計模式 設計模式,迭代器模式,iterator,迭代器 迭代器模式中的角色 迭代器模式是從集合中取出元素進行遍歷。迭代器模式主要用於將資料的遍歷訪問與實現進行分離。迭代器種類有很多,像是由前往後,由後往前,跳躍遍歷等等。aggregate介面 package com.pc.iterator.exa...