Skip to content

Whitecki/Object-Oriented-Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repozytorium zawiera rozwiązania zadań laboratoryjnych dotyczących projektowania obiektowego, wzorców projektowych, testów jednostkowych i refaktoryzacji kodu. Każde zadanie skupia się na praktycznym zastosowaniu kluczowych technik w programowaniu obiektowym.

📄 Opis plików i zagadnień

7️⃣ Projektowanie Obiektowe – Wzorce Strukturalne i Behawioralne

Zadania dotyczą implementacji wzorców projektowych:

Adapter – Przystosowanie niekompatybilnych interfejsów.
Dekorator – Dynamiczne rozszerzanie funkcjonalności obiektów.
Command – Wzorzec umożliwiający obsługę operacji "Undo".

6️⃣ Zaawansowane Wzorce Projektowe

Rozwiązania obejmują zastosowanie:

Strategia – Elastyczna kalkulacja rabatów.
Singleton – Zarządzanie konfiguracją aplikacji.
Fasada – Upraszczanie interakcji z systemem.
Adapter – Integracja z zewnętrznym API rabatów.
Template Method – Abstrakcyjne podejście do drukowania faktur.
Composite – Hierarchiczna struktura kategorii towarów.

5️⃣ Podstawowe Wzorce Konstrukcyjne

Zadania z konstrukcyjnych wzorców projektowych:

Builder – Tworzenie labiryntu w grze.
Fabryka Abstrakcyjna – Tworzenie różnych typów labiryntów.
Singleton – Fabryka jako pojedyncza instancja w systemie.
Rozszerzenie aplikacji – Dodanie mechanizmu poruszania się po labiryncie.

4️⃣ Testy jednostkowe (TDD, BDD)

Ćwiczenia z testowania oprogramowania:

Tworzenie testów w JUnit5 i Mockito.
Pisanie kodu zgodnie z TDD (Test-Driven Development).
Obsługa podatków, rabatów i historii zamówień.
Weryfikacja poprawności za pomocą testów jednostkowych.

3️⃣ Refaktoryzacja i poprawa kodu

Praktyczne ćwiczenia z refaktoryzacji:

Poprawa czytelności kodu i struktury klas.
Wykorzystanie wzorców Iterator, Decorator, Composite.
Generalizacja i ujednolicenie klasy Person i Prisoner.
Implementacja elastycznych warunków wyszukiwania.

2️⃣ Rozbudowa istniejącej aplikacji – Sklep internetowy

Zmiany w aplikacji zakupowej:

Rozszerzenie panelu filtracji produktów.
Obsługa nowych właściwości dla różnych kategorii.
Implementacja GUI w Java Swing.

1️⃣ Modelowanie Obiektowe – Karty CRC i UML

Ćwiczenia z modelowania:

Stworzenie modułu walki RPG w oparciu o diagram UML.
Implementacja systemu walki opartego na broni, magii i losowości.
Projektowanie klas postaci i ich interakcji.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors