Uniwersytet Zielonogórski
Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Informatyka niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera
Laboratorium Podstaw Modelowania Programów
Laboratorium 6
Wzorce Strategia, Fabryka i Obserwator 1 Zadania
1. Czym różni się wzorzec Strategia od zwykłej implementacji interfejsu? Jakie są wady i zalety tego wzorca?
2. Zmodyfikować program z podpunktu 5 z poprzedniego laboratorium tak, aby możliwa była zmiana sposobu odczytu danych podczas działania programu. Czy da się wykonać zadanie bez modyfikacji klas Klawiatura i Plik?
3. Czy nazwy klas Klawiatura i Plik są poprawne?
4. Jakie są wady i zalety wzorca Fabryka w porównaniu z utworzeniem zestawu konstruktorów?
5. Zaimplementować klasy służące do reprezentowania figur geometrycznych: trójkąta, prostokąta i kwa- dratu. Każda klasa powinna posiadać metodę Nazwa() zwracającą jej nazwę. Program ma umożliwiać przechowywanie dowolnej liczby figur w kontenerze. Rodzaj figury powinien być podawany z klawiatury.
Napisać przykładowy program wykorzystujący powyższe klasy.
6. Zmodyfikować program z podpunktu 5 poprzez dodanie nowej figury — rombu.
7. Jakie jest najczęstsze wykorzystanie wzorca Obserwator?
8. Narysować diagram klas wzorca Obserwator
9. Napisać program, który będzie sekwencyjnie odczytywał z klawiatury liczby. Jeśli liczbą jest zero, należy zapytać użytkownika, jakie wartości mają być wychwytywane przez program. Wyboru dokonuje się spośród poniższych możliwości:
• Liczba jest większa od zera
• Liczba jest równa 3
• Liczba jest podzielna przez 2
Do rozwiązania zadania wykorzystać wzorzec Obserwator
2 Literatura
• Head First Design Patterns. Edycja polska, Freeman E. i in., Helion 2005
• Wzorce projektowe Elementy oprogramowania obiektowego wielokrotnego użytku, Gamma E., Helm E., Johnson R., Vlissades J., WNT 2008
1