イテレータは、反復する必要があるコレクションについて確実に知る必要があります。コレクションはそのイテレータについても知る必要がありますか?依存関係は一方向ですか、それとも双方向ですか?コレクションに特定のイテレーターの実装に関する知識がある場合、同じコレクションに対して異なるイテレーター戦略を使用できない場合があります。これが私の考えです。私は正しいですか、それとも完全に間違っていましたか?
GoFブックには、イテレータパターンの次の図があります。
循環依存を意味していると思います。からとList
への点線についてはよくわかりません。LisIterator
SkipList
SkipListIterator
PS:私は毎日Javaを扱っていますが、特定の言語に固有のものというよりは、設計上の問題である可能性があります。