以前のリビジョンの文書です
BookShelfのcreateIteratorメソッドを使ってBookShelfIteratorを作成する。 その際、BookShelf自身を渡すことで、BookShelftとBookShelfIteratorは疎結合となっている。