検索の実装はページセットで。:/検索はページセット
呼び出された時に与えられた検索/クエリーと、自身が持つページを比較。

クエリーもページも複数のElementの集約。
Elementの集約を扱うのはクエリーやページ。Element同士のことはクエリー側のElementに任せる。ページ側Elementはデータの提供だけ。

ページセット ◇─ ページ ◇─ Element ─◇ クエリー

なので、クエリー付きで呼び出されたときは

  • 自身が持つページのうちの1つを
  • クエリーに与える

あとはクエリー任せ。ページセット自身が行うのはページ単位のイテレーションだけ。
HTML出力を求められたときは結果(検索で縮小した後の自身)を検索/フォーマットに与える。だけ。