ユーザ用ツール

サイト用ツール


デザインパターン:01_iterator

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
デザインパターン:01_iterator [2019/03/16 21:23]
ips ↷ デザインパターン:iterator から デザインパターン:01_iterator へページを名称変更しました。
デザインパターン:01_iterator [2019/08/24 15:31] (現在)
ips
ライン 1: ライン 1:
-====== ​Iterator:​イテレーター ======+====== ​01_Iterator:​イテレーター ======
  
-{{:​デザインパターン:​pasted:​20190316-210459.png}}+<​uml>​ 
 +title Iterator 
 + 
 +interface Aggregate{ 
 +createIterator() 
 +
 + 
 +interface Iterator{ 
 ++hasNext() 
 ++next() ​    
 +} 
 + 
 +class BookShelf{ 
 +createIterator(this) 
 +} 
 + 
 +class BookShelfIterator{ 
 +BookShelf 
 ++hasNext() 
 ++next()  
 +
 + 
 +Aggregate -> Iterator : Create 
 +Aggregate <|.. BookShelf 
 +Iterator <|.. BookShelfIterator 
 +BookShelf <-o BookShelfIterator 
 + 
 +</​uml>​
  
 ====== 概要====== ====== 概要======
ライン 7: ライン 34:
 BookShelfのcreateIteratorメソッドを使ってBookShelfIteratorを作成する。 BookShelfのcreateIteratorメソッドを使ってBookShelfIteratorを作成する。
 その際、BookShelf自身を渡すことで、BookShelftとBookShelfIteratorは疎結合となっている。 その際、BookShelf自身を渡すことで、BookShelftとBookShelfIteratorは疎結合となっている。
 +
 +
 +
  
デザインパターン/01_iterator.1552738995.txt.gz · 最終更新: 2019/03/16 21:23 by ips