Wzorce projektowe

Wzorce projektowe

System informatyczny: zadania dotyczące wzorców projektowych.

Zad 1
Naszkicuj diagram klas dla wzorca Observer zastosowanego do operacji magazynowych. W modelu występują dostawcy i odbiorcy. Jeżeli tylko towar pojawi się w magazynie to odbiorca powinien być poinformowany o tym fakcie. Jak tylko zwolni się miejsce w magazynie to dostawca powinien być poinformowany o tym fakcie.

Zad 2
Narysuj diagram klas reprezentujący w systemie bankowym mechanizm naliczania oprocentowania w postaci wzorca State. Uwzględnij trzy rodzaje oprocentowania: typu A, typu B i typu C: 3.5%. Mechanizmy naliczania oprocentowania należy zaprojektować w postaci osobnych klas, dziedziczących po wspólnej nad klasie lub implementujących wspólny interfejs. Zmiana oprocentowania związanego z rachunkiem bankowym polega na zmianie bieżącego obiektu reprezentującego oprocentowanie. Polecenia naliczenia odsetek powinno być delegowane do bieżącego obiektu reprezentującego oprocentowanie. Operacja zmiany odsetek powinna być zaprojektowana podobnie jak inne operacje bankowe, tj. jako realizacja wzorca Command. Zwróć uwagę, aby obiekty reprezentujące oprocentowanie były bezstanowe, tzn. nie przechowywały informacji związanej z rachunkiem (np. wysokości salda). Referencja do rachunku powinna być przekazywana obiektowi reprezentującemu oprogramowanie jako parametr metody obliczającej odsetki.

Zad 3
Zaprojektuj (diagram klas) modelujący w systemie bankowym mechanizm wykonywania raportów, stanowiący realizację wzorca Visitor. Każdy raport jest obiektem Visitor, który odwiedza kolejne typy rachunków i produktów bankowych (obiektów Element), wykonując na nich operacje specyficzne dla danej klasy elementów.
Zaprojektuj metodę w klasie bank, odpowiedzialną za uruchomienie wykonania raportu, która przyjmuje obiekt Raport jako parametr. Zaprojektuj następujące raporty:
– obliczający sumę sald na wszystkich rachunkach, których posiadają bieżący typ oprocentowania A
– wykonujący zestawienie wszystkich rachunków o wartości salda powyżej 1000 PLN

Zad 4
Wykorzystaj wzorzec Decorator do projektu fragmentu systemu zarządzającego pracownikami: Programista, Analityk, Manager , Tester.

Zad 5
Wykorzystaj wzorzec Abstract Factory dla zaprojektowania systemu kreowania kontrolek: przycisku i etykiety dla platform Windows, MacOS i Android biorąc pod uwagę to że kod klienta nie powinien być zmieniany jeżeli dokonujemy importu z jednego system do drugiego.

Zad 6
Wykorzystaj wzorzec Factory do zaprojektowania fragmentu systemu służącego do kreowania obiektów reprezentujących procesor.

Dokument: