12.07.2015 Views

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

Podsumowanie wzorców projektowych GoF

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5. IteratorPrzeznaczenie (cytat z ksiki <strong>GoF</strong>):Zapewnia sekwencyjny dostp do elementów obiektu zagregowanego bez ujawniania jegoreprezentacji wewntrznej.Przeznaczenie (cytat z fluffycat):Jeden obiekt moe przej przez elementy innego obiektu.Opis: Lista tytułów DVD oraz iterator przechodzacy po tej licie i wywietlajcy wszystkietytuły znajdujce si na niej w trakcie iterowania. Pomidzy iterowaniem mog by robionemodyfikacje listy polegajce na usuwaniu, zmienianiu lub dodawaniu tytułów. Wszystkie tezmianu s widoczne w nastpujcej po nich iteracji.Problem: JakRozwizanie: PrzezKlasa główna:_DP_B_<strong>GoF</strong>_Iteratorpackage pk.dydakt.to.dp.b.gof.iterator;public class _DP_B_<strong>GoF</strong>_Iterator {public static void main(String[] args) {DvdList fiveShakespeareMovies = new DvdList();fiveShakespeareMovies.append("10 Things I Hate About You");fiveShakespeareMovies.append("Shakespeare In Love");fiveShakespeareMovies.append("O (2001)");fiveShakespeareMovies.append("American Pie 2");fiveShakespeareMovies.append("Scotland, PA.");fiveShakespeareMovies.append("Hamlet (2000)");DvdListIterator fiveShakespeareIterator =fiveShakespeareMovies.createIterator();while (!fiveShakespeareIterator.isDone()) {System.out.println(fiveShakespeareIterator.currentItem());fiveShakespeareIterator.next();}fiveShakespeareMovies.delete("American Pie 2");}}System.out.println(" ");fiveShakespeareIterator.first();while (!fiveShakespeareIterator.isDone()) {System.out.println(fiveShakespeareIterator.currentItem());fiveShakespeareIterator.next();}Klasy wzorca:DvdListpackage pk.dydakt.to.dp.b.gof.iterator;public class DvdList {64

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!