Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam.
Tworzę obiekt, który zawiera tabelę, po której chciałbym aby był iterowany.
I teraz pytanie - skoro zależy mi jedynie na iteracji w FOREACH to czy zaimplementować w klasie interfejs ITERATOR czy ITERATORAGGREGATE. Ten drugi zajmie o wiele mniej kodu. Wydaje mi się, że rozumiem, że ITERATOR jest idealny jeżeli chcę zrobić "bardziej kreatywne" iterowanie po tej tabeli ale jeśli chcę najzwyklejsze to czy opłaca mi się używać ITERATOR? Dlaczego tak/nie? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
Np. wtedy gdy w domyśle nie iterujesz po tablicy, tylko wyznaczasz dynamicznie wartości.
Przykładem może być iterowanie po dużych kolekcjach obiektów, której nie chcesz wczytywać na raz do pamięci, gdyż jest to nie wydajne, ale tworzysz na żądanie pojedyncze obiekty w iteratorze, czyli w jednym momencie w pamięci istnieje jeden obiekt który jest zwracany przez iterator. Szczerze powiedziawszy to już dawno temu ostatni raz implementowałem czysty interfejs Iterator, jest wiele dobrych iteratorów w spl (iteratory rekursywne, iteratory iterujące po plikach w systemie plików, iteratory filtrujące, keszujące itp), które wystarczają w większości przypadków |
|
|
|
Sephirus Iterator czy iteratorAggregate - wygoda? 12.11.2011, 14:43:53
-=Peter=- W tym przypadku najprostszym rozwiązaniem będzie i... 12.11.2011, 14:55:57
Sephirus Ok - też mi się tak właśnie wydawało, że to jest n... 12.11.2011, 15:20:37
Sephirus Dzięki o to mi właśnie chodziło. 12.11.2011, 17:09:17 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 12:50 |