開発
Iteratorパターン
makuta
あけましておめでとうございます!
今年は、昨年以上にお仕事もブログの方も頑張っていきたいと思います。
さて、今回ですが、最近勉強をやり始めたデザインパターン(ソフトウェア)関連のお話をしたいと思います。
今回はIteratorパターンについてです。
Iteratorパターン(イテレータ・パターン)とは、GoF(Gang of Four:4人のギャングたち)によって定義された、デザインパターンの1つです。コンテナオブジェクトの要素を列挙する手段を独立させることによって、コンテナの内部仕様に依存しない反復子を提供することを目的とします。 *wikipedia
”Iterate”という単語には、何かを ”繰り返す” という意味です。プログラムで”繰り返す”と聞いて思い浮かべるのは、”for” ループや “while” ループ文ではないでしょうか?
for(int i = 0; i<array.length; i++){ System.out.println(array[i]) }
上記のコードでは、ループ変数 i は 0 で初期化され、1, 2 …と配列の要素数分まで順に増えていきます。その度に、配列の該当する i 番目の要素を1つ取り出して出力させています。実は上記処理で使用されているループ変数 i の役割をパターン化したものが、”Iterator パターン” です。つまり、”Iterator パターン” とは、ある集合体の要素1つ1つに、順次アクセスする方法を提供するパターンなのです。
—–
最後になりましたが、今年もよろしくお願いします。