Kolokwium
Pytania testowe
Omów sens używania przestrzeni nazw.
Jakie jest znaczenie operatora kropki w kontekście przestrzeni nazw?
Do czego służy instrukcja foreach? Omów podany przykład.
Jaka jest różnica między używaniem nawiasów [] i nawiasów {} w tablicach?
Omów rodzaje tablic wielowymiarowych. Zapisz przykładowe deklaracje.
Wymień i krótko scharakteryzuj poznane rodzaje kolekcji.
Opisz sytuacje, w których skorzystałbyś ze Słownika.
Do czego przydają się delegaty? Uzasadnij.
Czym są wyjątki i w jakim celu się je obsługuje?
Kiedy nie należy używać wyjątków?
W jaki sposób można zabezpieczyć wykonanie części kodu niezależnie od występujących wyjątków?
Czym jest wątek?
Jak uruchomić nowy wątek?
Omów zagadnienie synchronizacji wątków.
W jakim celu w programie stosuje się blokady?
Co to jest zakleszczenie programu?
Na czym polega sytuacja wyścigu w synchronizacji?
Omów rodzaje wzorców projektowych.
Jak działa wzorzec Fabryki?
Omów wzorzec Budowniczego.
W jakich sytuacjach przydaje się wzorzec Singleton?
Do czego służy wzorzec Adaptera?
Omów wzorzec Fasady.
Wzorzec Obserwatora sposobem reagowania na zmianę wartości. Rozwiń problem.
Zadania
Napisz program symulujący przepływ dokumentów w firmie ubezpieczeniowej. Rozważ wykorzystanie odpowiedniego wzorca projektowego/wzorców projektowych.
Przygotuj aplikację pełniącą funkcję słownika.
Napisz program działający na zasadzie terminarza. Przygotuj mechanizm zarządzający kontrolą zajętych terminów.
Zaprojektuj aplikację symulującą wyścig żużlowy (w sporcie tym ściga się czterech zawodników). Do zdobycia informacji o dyscyplinie sportu możesz wykorzystać dane znalezione w Internecie.
Wykorzystując wzorzec Fasady napisz rozszerzenie do poprzedniej aplikacji pozwalającej zasymulować przebieg całego meczu żużlowego i wyświetlić wyniki poszczególnych biegów.
L
L