Programowanie w języku Java
Transkrypt
Programowanie w języku Java
dr inż. Piotr Zabawa 03.03.2014 Programowanie w języku Java laboratorium 2 Implementacja wzorca czynnościowego Iterator w Java. 1. Szczegółowe wyjaśnienie przykładu wzorca Iterator na podstawie Fluffycat w powiązaniu z diagramem klas z Wykładu 2 ukazującym strukturę tego wzorca Implementacja wzorców kreacyjnych Metoda Wytwórcza (Factory Method) i Budowniczy (Builder) w Java. 2. Szczegółowe wyjaśnienie przykładów wzorca MetodaWytwórcza i Budowniczy na podstawie Fluffycat w powiązaniu z diagramem klas z Wykładu 2 ukazującym strukturę każdego z tych wzorców Refaktoryzacja wzorca Iterator zewnętrzny - alternatywne implementacje (jedna do wyboru). 3. Reimplementacja wzorca Iterator zewnętrzny z Fluffycat opartego pierwotnie na klasach wewnętrznych na postać polimorficzną wykorzystującą interfejsy (niski poziom trudności). 4. Reimplementacja wzorca Iterator zewnętrzny z Fluffycat opartego pierwotnie na klasach wewnętrznych na postać Iteratora wewnętrznego (wysoki poziom trudności). Iterator wewnętrzny, to taka wersja iteratora, który przejmuje od klienta informację o metodzie, którą ma wykonać w czasie iterowania. Możliwe są różne lokalizacje tej metody (w kliencie, w klasie obiektów umieszczonych w kontenerze - uwaga na możliwy polimorfizm tych obiektów!). Prawdopodobnie nie da się uniknąć mechanizmu refleksji języka Java, jeśli iterator ten ma być uniwersalny dla dowolnej metody. Mechanizm ten zostanie omówiony na wykładach nieco później. 5. Reimplementacja wzorca Iterator zewnętrzny z Fluffycat opartego pierwotnie na klasach wewnętrznych na postać niewykorzystującą klas wewnętrznych, ale z wykorzystaniem wzorca Metody Wytwórczej do tworzenia iteratorów (średni poziom trudności).