D言語のopApplyって、Iteratorパターンなの?

設計やらなにやら、自信が全然無くなってしまったので、基本から勉強しなおし。
デザインパターンのサンプルをDに移植しながら勉強してみてます。
移植は終わったのだけど、意味がわかってない。
IteratorパターンってDだと、opApply使ってforeachにして書くけど、
あれって、Iteratorパターンっていうの?UMLってどうなるのという感じです。
UMLも分かってないしなぁ。