Razvoj višeslojnih aplikacija u programskom jeziku Swift : diplomski rad - Kozjak, Filip (F. Kozjak, 2017)
Sažetak na hrvatskom: Osnovna ideja ovog rada bila je dati pregled različitih softverskih arhitektura za aplikacije pisane u programskom jeziku Swift za operacijski sustav Apple Mac OS X. Pregled smo započeli od najjednostavnije moguće arhitekture koju Apple predlaže za Mac OS X aplikacije, a to je MVC arhitektura. Upotrebom ove arhitekture razvili smo prvu verziju aplikacije koja je implementirala traženu poslovnu logiku, te smo nju koristili kao bazu za kasnije arhitekture koju su trebale poboljšati izvorno rješenje. Iako je MVC vrlo efikasan i jednako toliko rasprostranjen oblikovni obrazac, njegovom primjenom naišli smo na vrlo konkretne nedostatke, poput masivnih kontrolera koji su sadržavali puno koda i puno odgovornosti. U sljedećoj verziji aplikacije to smo nastojali popraviti uslojavanjem, tako što smo aplikaciju razdvojili na podatkovni, poslovni i prezentacijski sloj. Na taj način oduzeli smo dio odgovornosti iz kontrolera i došli do koda koji je lakše održiv. Time smo napravili korak unaprijed u kvaliteti arhitekture. Naposljetku, aplikaciju smo redizajnirali tako da podliježe standardima MVVM oblikovnog obrasca. Ovdje kontroler služi samo kao logika grafičkog prikaza, pa je time on dodatno rasterećen. Umjesto da je u kontroleru, sva poslovna logika premještena je u ViewModel, odnosno podatkovni model koji služi ViewControlleru, no nije rađen specifično za pojedini ViewController već je općenito iskoristiv za različite ViewControllere. Ovime smo dotaknuli završni dizajn aplikacije, znatno unaprijeđen od verzije od koje smo krenuli.