LeoAndo / java-training

0 stars 0 forks source link

Iterator #71

Open LeoAndo opened 2 years ago

LeoAndo commented 2 years ago

https://github.com/LeoAndo/java-training/blob/main/Iterator/src/com/example/Main.java#L19:L22 のように、配列のような集合体の要素を最初から順番にスキャン(走査)する処理をIteratorパターンと呼んでいる。

iterateは何かを繰り返すという意味。

LeoAndo commented 2 years ago

実装がどうであれIteratorを使える

配列であればfor文で回せば良い話だが、Iteratorパターンを採用することで、実装と切り離して繰り返し処理を行うことができる https://github.com/LeoAndo/java-training/blob/main/Iterator/src/com/example/Main.java#L19:L22 mainメソッド内で、BookShelf.java のメソッドは呼び出していない。 つまり、BookShelfの実装には依存していない。この作りであれば、BookShelf.javaの実装が変更されても、呼び出し元のmainメソッドを変更しなくても動作する設計になる。