Page-by-Page Iterator

Cel

Efektywny dostęp do dużych danych tworzących listę, poprzez podzielenie ich na fragmenty.

Motywacja

Aplikacje bazodanowe często wymagają przesyłania do użytkownika długich list danych, takich jak katalogi lub wyniki wyszukiwania. W takich przypadkach prezentacja całej listy na raz jest zazwyczaj niepotrzebna (ponieważ użytkownik nie jest zainteresowany całością) lub niemożliwa (nie ma wystarczającej ilości miejsca na elementy).

Pobierając listę elementów, bardzo kosztowne byłoby użycie ziaren entity beans. Duży koszt wynika, po pierwsze, z użycia zdalnych metod do wyszukiwania ziaren, po drugie z użycia zdalnych metod dostępu do danych przechowywanych w ziarnach.

Powyższe problemy mogą zostać uniknięte dzięki zastosowaniu iteratora (page-by-page iterator) . Poprzez iterator użytkownik może przeglądać listę elementów podzieloną na okna (page). Wielkość okna może być duża lub mała, w zależności od wymagań klienta.

Zastosowanie

Iterator powinien być używany do dostępu do dużych list danych znajdujących się po stronie serwera gdy:

Struktura

Diagram Struktury

Konsekwencje

Zastosowanie iteratora ma następujące konsekwencje:

Implementacja

Iterator przechowuje pozycję użytkownika w przeglądanej liście danych. Zawiera metody zwracające następną oraz poprzednią stronę, oraz ustawiające wielkość strony.

Jest kilka sposobów implementacji iteratora:

Poniższe wskazówki stosują się niezależnie od wybranej metody implementacji: