3. semestar · Obvezni · 7 ECTS
Napredno objektno programiranje
O kolegiju
Napredno objektno orijentirano oblikovanje kroz predloške ponašanja, strukturne predloške i predloške stvaranja te načela SOLID, uz naglasak na kompoziciji i ponovnoj uporabi koda. Obrađuju se slojevita arhitektura aplikacije prema pristupu MVC, rad s relacijskim bazama podataka kroz JDBC, DAO/Repository i JPA/Hibernate te integracija vanjskih biblioteka i komponenti.Ishodi i teme
- Parametrizacija tipova u Javi (Java Generics): generičke klase, metode i kolekcije
- Uvod u oblikovanje na temelju razvojnih predložaka i predložak Strategy: kompozicija umjesto nasljeđivanja
- Predložak Observer uz jednostavno grafičko sučelje
- Predložak Command i jednostavan mehanizam undo/redo
- Predložak Memento za spremanje i vraćanje stanja objekta
- Predlošci Adapter i Decorator: prilagodba nekompatibilnih sučelja i proširivanje funkcionalnosti
- Predložak Factory i odvajanje stvaranja objekata od njihove uporabe
- Predložak Singleton i ograničenja njegove primjene
- Načela SOLID i prepoznavanje neprikladnog objektno orijentiranog dizajna
- Arhitektura objektno orijentirane aplikacije i pristup MVC
- Rad s relacijskim bazama podataka u Javi pristupom JDBC i operacije CRUD
- Izdvajanje sloja pristupa podacima uz DAO/Repository
- Objektno relacijsko mapiranje uz JPA/Hibernate
- Integracija vanjskih biblioteka i komponenti u objektno orijentiranu aplikaciju
- Oblikovanje arhitekture završnog projekta: dijagram klasa, izbor predložaka, slojevi i baza podataka
Izvođenje nastave i provjera znanja
Nastava se izvodi kroz predavanja i vježbe s problemskim zadacima, a sadržaji se povezuju kroz završni projekt s tehničkom dokumentacijom i opisom API-ja. Ocjena se formira iz kratkih testova, problemskih zadataka, zadataka s namjerno ugrađenim pogreškama, kritičkih osvrta na programska rješenja i obranjenog završnog projekta, uz prag od 50 posto na svakom elementu.