Zpo-1-lab
Ćwiczenie 1: Wprowadzenie do przedmiotu
Informacje wstępne
Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem oraz artykułem A.Cockburna dotyczącym wykorzystania kart CRC Celem ćwiczenia jest zastosowanie w praktyce metody projektowania obiektowego z użyciem kart CRC.
Zadanie
Należy zaprojektować system obiektowy dla obsługi rozgrywek Ligi Światowej, zgodnie z załączonym opisem. Sugerowaną metodą jest wykorzystanie kart CRC w powiązaniu z wiedzą przypomnianą podczas wykładu.
Zadanie polega na wyodrębnieniu klas, przydzieleniu im odpowiedzialności, określeniu ich powiązań pomiędzy sobą. Należy uwzględnić następujące ograniczenia:
- liczba grup w rundzie międzykontynentalnej jest zmienna
- mechanizm ustalania kolejności wewnątrz grup w obu rundach jest identyczny, ale zmienny
- liczba zespołów awansujących z rundy międzykontynentalnej do finałowej z każdej grupy może ulec zmianie
- liczebność grup w rundzie finałowej jest zmienna
Zaprojektowany system powinien umożliwić śledzenie i zapisywanie wyników rozgrywek niezależnie od zmian zachodzących w ww. zakresie.
Kolejnym krokiem jest zaimplementowanie wyników w postaci biblioteki klas języka Java. Należy dobrać właściwe struktury danych i skorzystać z możliwości oferowanych przez język do zaimplementowania rozwiązania.
Pytania do dyskusji
- W jakich sytuacjach zastosowanie dziedziczenia klas jest efektywniejsze niż zastosowanie interfejsów i ich implementacji?
- Które obiekty w projekcie systemu dla Ligi Światowej powinny być obiektami-referencjami, a jakie obiektami-wartościami?
- Jak zapewnić niezmienność wyników meczu po jego zakończeniu (utworzeniu obiekty reprezentującego mecz)?