somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【php】イテレータ【パターン】

イテレータパターンを学んで気になったときのメモです。

イテレータの印象

phpでは気軽に配列を使用できるため、何も気にせずオブジェクトを格納して利用することが多いです。Javaのようにただの配列、可変長のリスト、連想配列(Map)を区別する必要がなく、すべて連想配列として扱えるためだと思います。そのため気にするほど意識がないことと、気にするほどイテレータを使用しなければならないことが事実です。

利点

ファイルを格納するディレクトリや、データベースのレコードを格納するレコードセットなど、集合体・リストに対する取り出し・追加といった操作を再利用できるようにまとめておくようです。

SPLの充実

開発時に新たにイテレータを用意しなくても、phpで既に雛形が用意されています。普通の配列をforeachで操作できるようにSPLのイテレータも操作できますし、知識を持っているだけで幅が広ります。簡単にできる場所は配列で実装し、再利用性を考えたほうがいい場所はSPLを使って実装できたらと思います。

クラス図

デザパタ本のクラス図を詳細にしてみました。どういう思想で作成されているのか分からないので、ぐちゃぐちゃになってしまいました。